Go版GTK:glade

原文地址:https://blog.csdn.net/tennysonsky/article/details/79256036

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 示例程序

ps:test.glade 来自步骤3.1

示例代码:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值