Go语言图形界面开发GTK:一个简单的空白窗口

  • A+
所属分类:Golang

1 示例代码

```
package main

import (
"os"
"github.com/mattn/go-gtk/gtk"
)

func main() {
gtk.Init(&os.Args) //环境初始化

window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL) //创建窗口
window.SetPosition(gtk.WIN_POS_CENTER)       //设置窗口居中显示
window.SetTitle("GTK Go!")                   //设置标题
window.SetSizeRequest(300, 200)              //设置窗口的宽度和高度

window.Show() //显示窗口

gtk.Main() //主事件循环,等待用户操作

}
```

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

2 代码框架

我们以后写GTK代码时基本上都看到这么一个框架:

```
package main

import (
"os"
"github.com/mattn/go-gtk/gtk" //导入gtk所需的包
)

func main() {
gtk.Init(&os.Args) //环境初始化

//…… ……
// 用户所写的代码
//…… ……

gtk.Main() //主事件循环,等待用户操作

}
```

3 代码分析

1)gtk.Init(&os.Args)
所有 GTK应用程序都要调用该函数,而且必须在控件定义之前使用,它为我们设置一些缺省值( 例如视觉和颜色 )映射这个函数将函数库初始化,设置缺省的信号处理函数,并检查通过命令行传递给应用程序的参数,自动完成一些必要的初始化工作。

2)gtk.NewWindow(gtk.WINDOW_TOPLEVEL)
创建一个窗口并返回这个窗口的控件指针。gtk.WINDOW_TOPLEVEL指明窗口的类型为最上层的主窗口(则带边框的窗口),它最常用。

3)window.Show()
用来显示上一步创建的窗口控件。

在这个简单例子里,所有事件都被忽略。用鼠标点击窗口右上角的“×”按钮也不能将窗口关闭。可通过任务管理器关闭。

4)gtk.Main()
它是在每个Gtk应用程序都要调用的函数。程序运行停在这里等待事件(如键盘事件或鼠标事件)的发生,等待用户来操作窗口。

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