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

相关推荐
呆萌很2 小时前
【GO】结构体构造函数练习题
golang
codeejun7 小时前
每日一Go-44、Go网络栈深度拆解--从 TCP 到 HTTP 的资源复用艺术
网络·tcp/ip·golang
GDAL8 小时前
Go Channel `close()` 深入全面讲解
golang·通道·close
Tomhex10 小时前
Golang内置函数总结
golang·go
XMYX-010 小时前
05 - Go 的循环与判断:语法、用法与最佳实践
开发语言·golang
被摘下的星星12 小时前
Go赋值操作的关键细节
开发语言·golang
喵了几个咪12 小时前
Go 语言 CMS 横评:风行 GoWind 对比传统 PHP/Java CMS 核心优势
java·golang·php
喵了几个咪12 小时前
Headless 架构优势:内容与展示解耦,一套 API 打通全端生态
vue.js·架构·golang·cms·react·taro·headless
Wenweno0o2 天前
0基础Go语言Eino框架智能体实战-chatModel
开发语言·后端·golang
咬_咬2 天前
go语言学习(基本数据类型)
开发语言·学习·golang·数据类型