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

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

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页