Go版GTK:glade
Posted Mike江
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go版GTK:glade相关的知识,希望对你有一定的参考价值。
1 glade简介
请参考:http://blog.csdn.net/tennysonsky/article/details/43016035
2 glade安装
go源码使用的是gtk2版本,默认安装的glade关联的为gtk3.0以上的版本,需要单独安装一个合适版本的glade。
详情请参考:http://blog.csdn.net/tennysonsky/article/details/43018759
3 glade的使用
3.1 设计器介绍和操作步骤
详情请参考:http://blog.csdn.net/tennysonsky/article/details/43019923
3.2 示例程序
示例代码:
package main
import (
"fmt"
"os"
"github.com/mattn/go-gtk/gtk"
)
func main()
gtk.Init(&os.Args)
builder := gtk.NewBuilder() //新建builder
builder.AddFromFile("test.glade") //读取glade文件
// 获取窗口控件指针,注意"window1"要和glade里的标志名称匹配
window := gtk.WindowFromObject(builder.GetObject("window1"))
b1 := gtk.ButtonFromObject(builder.GetObject("button_previous")) //获取按钮1
b2 := gtk.ButtonFromObject(builder.GetObject("button_next")) //获取按钮2
//信号处理
b1.Connect("clicked", func()
//获取按钮内容
fmt.Println("button txt = ", b1.GetLabel())
)
b2.Connect("clicked", func()
//获取按钮内容
fmt.Println("button txt = ", b2.GetLabel())
gtk.MainQuit() //关闭窗口
)
//按窗口关闭按钮,自动触发"destroy"信号
window.Connect("destroy", gtk.MainQuit)
window.ShowAll()
gtk.Main()
程序运行效果:
以上是关于Go版GTK:glade的主要内容,如果未能解决你的问题,请参考以下文章
使用 Glade 和 gtkmm 对 GTK+ 对象进行内存管理