Go语言图形界面开发GTK:glade

  • A+
所属分类:Golang

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()

}
```

程序运行效果:
这里写图片描述

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin