Как создать десктопное приложение на Golang?

Пользователь

от janiya , в категории: Общие вопросы , 2 года назад

Как создать десктопное приложение на Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

4 ответа

Пользователь

от elvis_paucek , 2 года назад

@janiya 

Для создания десктопных приложений на Golang можно использовать несколько инструментов и библиотек. Одним из наиболее популярных вариантов является использование библиотеки интерфейса пользователя (UI) под названием "fyne".


Вот пример кода, который демонстрирует, как создать простое приложение на Golang с помощью "fyne":

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import "fyne.io/fyne/v2/app"
import "fyne.io/fyne/v2/container"
import "fyne.io/fyne/v2/widget"

func main() {
    myApp := app.New()
    myWindow := myApp.NewWindow("Пример приложения на Golang")

    hello := widget.NewLabel("Привет, мир!")
    content := container.NewVBox(hello)

    myWindow.SetContent(content)
    myWindow.ShowAndRun()
}


Этот код создает простое окно с надписью "Привет, мир!". Для запуска этого приложения вам нужно установить библиотеку "fyne" с помощью менеджера пакетов Go и запустить файл с помощью команды "go run".


Существуют и другие библиотеки UI для создания десктопных приложений на Golang, такие как "go-gtk3" и "ui", которые также могут быть использованы для этой цели.

Пользователь

от domenick , год назад

@janiya 

Для использования библиотеки "go-gtk3" вам нужно установить пакет "libgtk-3-dev" и его зависимости на вашей операционной системе. Вот пример кода, который использует "go-gtk3" для создания простого окна:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main

import (
    "github.com/gotk3/gotk3/gtk"
    "log"
)

func main() {
    gtk.Init(nil)

    win, err := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
    if err != nil {
        log.Fatal("Не удалось создать окно:", err)
    }

    win.SetTitle("Пример приложения на Golang")
    win.Connect("destroy", func() {
        gtk.MainQuit()
    })

    label, err := gtk.LabelNew("Привет, мир!")
    if err != nil {
        log.Fatal("Не удалось создать метку:", err)
    }

    win.Add(label)
    win.ShowAll()

    gtk.Main()
}


Чтобы запустить это приложение, вы должны установить библиотеку "go-gtk3" с помощью следующей команды:

1
go get -u github.com/gotk3/gotk3/gtk


Затем вы можете запустить свое приложение с помощью команды "go run".


Кроме того, вы можете использовать библиотеку "ui" для создания десктопных приложений на Golang. Вот пример кода, который использует "ui" для создания простого окна:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
package main

import "github.com/andlabs/ui"

func main() {
    err := ui.Main(func() {
        window := ui.NewWindow("Пример приложения на Golang", 200, 100, false)
        window.OnClosing(func(*ui.Window) bool {
            ui.Quit()
            return true
        })

        label := ui.NewLabel("Привет, мир!")
        window.SetChild(label)

        window.Show()
    })
    if err != nil {
        panic(err)
    }
}


Чтобы использовать библиотеку "ui", вы должны установить ее с помощью следующей команды:

1
go get github.com/andlabs/ui


Затем вы можете запустить свое приложение с помощью команды "go run".

Пользователь

от claude , 9 месяцев назад

@janiya 

Вот пример кода, который использует библиотеку "ui" для создания простого десктопного приложения на Golang с использованием GTK:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main

import (
    "github.com/andlabs/ui"
)

func main() {
    err := ui.Main(func() {
        window := ui.NewWindow("Пример приложения на Golang", 200, 100, false)
        label := ui.NewLabel("Привет, мир!")
        button := ui.NewButton("Нажмите меня")

        vbox := ui.NewVerticalBox()
        vbox.Append(label, false)
        vbox.Append(button, false)

        window.SetChild(vbox)
        window.OnClosing(func(*ui.Window) bool {
            ui.Quit()
            return true
        })
        window.Show()
    })
    if err != nil {
        panic(err)
    }
}


Чтобы запустить это приложение, установите библиотеку "ui" (andlabs/ui) с помощью команды:

1
go get github.com/andlabs/ui


Затем запустите ваше приложение с помощью команды go run.


Помните, что при создании десктопных приложений на Golang можно использовать различные библиотеки UI в зависимости от ваших предпочтений и потребностей.

Пользователь

от syble_mills , 7 месяцев назад

@janiya 

Отлично! У вас теперь есть примеры кода для создания десктопных приложений на Golang с использованием различных библиотек UI. Вы можете выбрать тот вариант, который лучше всего подходит вашим потребностям и предпочтениям. Успехов в разработке десктопных приложений на Golang! Если у вас возникнут еще вопросы, не стесняйтесь спрашивать.