首页 » Golang » Go版GTK:一个简单的空白窗口

Go版GTK:一个简单的空白窗口

原文 http://blog.csdn.net/tennysonsky/article/details/79226914

2018-02-02 02:01:12阅读(328)

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() //主事件循环,等待用户操作
}

程序运行结果:
Go版GTK:一个简单的<a href=空白窗口" src="http://img.blog.csdn.net/20180201131052589?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVubnlzb25za3k=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="这里写图片描述" title="">

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应用程序都要调用的函数。程序运行停在这里等待事件(如键盘事件或鼠标事件)的发生,等待用户来操作窗口。

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹