在Debian上使用Golang编写图形界面(GUI)应用程序,你可以选择多种库。以下是一些流行的Golang GUI库及其使用方法:
- Fyne Fyne是一个用Go编写的原生跨平台GUI工具包。要开始使用Fyne,请先安装它:
go get fyne.io/fyne/v2
然后,创建一个简单的Fyne应用程序:
package main import ( "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/widget" ) func main() { myApp := app.New() myWindow := myApp.NewWindow("Hello") hello := widget.NewLabel("Hello Fyne!") myWindow.SetContent(container.NewVBox( hello, widget.NewButton("Hi!", func() { hello.SetText("Welcome :)") }), )) myWindow.ShowAndRun() }
保存为main.go
,然后运行:
go run main.go
- GTK GTK是一个用于创建图形界面的跨平台工具包。要在Debian上安装GTK和相关的Go绑定,请运行:
sudo apt-get install libgtk-3-dev go get github.com/mattn/go-gtk/gtk
创建一个简单的GTK应用程序:
package main import ( "github.com/mattn/go-gtk/gtk" ) func main() { gtk.Init(nil) window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL) window.SetTitle("Hello GTK") window.Connect("destroy", gtk.MainQuit) label := gtk.NewLabel("Hello, GTK!") window.Add(label) window.ShowAll() gtk.Main() }
保存为main.go
,然后运行:
go run main.go
- Qt for Go (there’s also a project called
thereisnospoon/go-qt
) Qt是一个功能强大的跨平台C++库,用于创建图形界面。有一个名为thereisnospoon/go-qt
的Go绑定项目。要安装它,请运行:
go get -u github.com/thereisnospoon/go-qt/cmd/...
创建一个简单的Qt应用程序:
package main import ( "os" "github.com/thereisnospoon/go-qt/core" "github.com/thereisnospoon/go-qt/widgets" ) func main() { widget.NewQApplication(len(os.Args), os.Args) window := widgets.NewQMainWindow(nil, 0) window.SetWindowTitle("Hello Qt") label := widgets.NewQLabel2("Hello, Qt!", nil, 0) label.SetAlignment(core.Qt__AlignCenter) window.SetCentralWidget(label) window.Show() widget.QApplication_Exec() }
保存为main.go
,然后运行:
go run main.go
这些只是Debian上可用的许多Golang GUI库中的一些。你可以根据自己的需求和喜好选择合适的库。