go gtk 开发入门

环境:

Ubuntu 24.04

go 1.24

针对以下程序 hello.go

package main

import (

"github.com/gotk3/gotk3/gtk"

)

func main() {

// 初始化GTK

gtk.Init(nil)

// 创建主窗口

win, _ := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)

win.SetTitle("Hello Go GTK")

win.SetDefaultSize(400, 300)

win.Connect("destroy", func() {

gtk.MainQuit()

})

// 添加标签

label, _ := gtk.LabelNew("欢迎使用Go语言开发GTK界面!")

win.Add(label)

// 显示所有组件

win.ShowAll()

// 启动主事件循环

gtk.Main()

}

操作如下

$ export GOPROXY=https://goproxy.cn,direct

$ export CGO_ENABLED=1

$go mod init hello

$ go get github.com/gotk3/gotk3/gtk

go: added github.com/gotk3/gotk3 v0.6.4

$ go run hello.go

出现如下错误

../go/pkg/mod/github.com/gotk3/gotk3@v0.6.4/gdk/gdk_since_3_22.go:140:180: undefined: callback

怎样解决?

办法如下:

修改 go.mod 文件,将 gotk3 的版本改为 v0.6.3,然后运行

$ go mod tidy

$ go build hello.go

$ ./hello

相关推荐
microrain2 小时前
从硬编码到热插拔:SagooIoT插件架构如何打破物联网平台的扩展瓶颈
物联网·golang·开源·sagooiot
geovindu3 小时前
go:Backtracking Algorithm
开发语言·后端·算法·golang·回溯算法
qq_452396234 小时前
第六篇:《并发编程核心:Goroutine 与 Channel》
golang
llwszx4 小时前
【Java/Go后端手撸原生Agent(第五篇):多工具并行调用 + BashTool执行引擎 + Judge证据链升级】
java·后端·golang·状态机·pydantic·agnet·llm-as-judge
FfHUCisI4 小时前
Go语言程序结构 —— 变量、声明与零值机制
golang
超人不会飞_Jay5 小时前
Go课程2
开发语言·后端·golang
晴空了无痕17 小时前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线
开发语言·后端·golang·kubernetes
qq_4523962321 小时前
第五篇:《接口与错误处理:Go 的哲学》
开发语言·后端·golang
布朗克1681 天前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
止语Lab1 天前
从 PHP 到 Go:真正迁移的是复杂度的归属
android·golang·php