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

相关推荐
张忠琳1 小时前
【Go 1.26.4】Golang Channel 深度解析
开发语言·后端·golang
张忠琳4 小时前
【Go 1.26.4】Golang Map 深度解析
开发语言·后端·golang
何以解忧,唯有..9 小时前
Go 语言安装与环境配置完整指南
开发语言·后端·golang
踏着七彩祥云的小丑10 小时前
Go 学习第6天:结构体 + 切片 + range遍历
开发语言·学习·golang·go
浮尘笔记11 小时前
Go实现大文件异步流式采集引擎
开发语言·后端·golang
l齐天11 小时前
Ubuntu 中编译 Go + PBC 程序为 Windows 11 可运行文件
windows·ubuntu·golang
jieyucx12 小时前
《Go 数据库编程开篇:彻底打通 database/sql 与 MySQL 驱动的连接池调优密码》
数据库·sql·golang
壮Sir不壮12 小时前
GO语言——GMP调度模型
linux·开发语言·golang·go·操作系统·线程·协程
再玩一会儿看代码12 小时前
2026 年 ChatGPT 套餐怎么选?Free、Go、Plus、Pro、Business、Enterprise 一次讲清楚
人工智能·gpt·chatgpt·golang·openai·codex
必胜刻12 小时前
Go项目实战:使用Ollama本地部署大模型实现AI智能笔记生成
人工智能·笔记·ai·语言模型·golang