控件是对数据和方法的封装。控件有本身的属性和方法。属性是指控件的特征。方法是指控件的一些简单而可见的功能。如按钮就是一个控件,这个按钮是方形的,里面有张图片,这是咱们能看到外观属性,同时,这个按钮具有被人按下的功能。git
GTK
中控件主要分为两类:容器控件,非容器控件。github
如今咱们已经建立出了一个窗口程序,可是这个窗口什么也没有。接下来咱们在窗口上添加按钮等元素。布局
在窗口中添加按钮控件,首先建立按钮,以下所示:网站
// 建立按钮 b := gtk.NewButton() // 设置按钮大小 b.SetSizeRequest(80, 32) // 设置按钮内容 b.SetLabel("点击")
按钮建立完成后,须要将按钮添加到窗口中,这就须要用到 布局
控件。code
所谓 布局
控件,就是对窗口中将要显示的控件元素进行排列。将按钮等控件放在布局控件中,而后经过调整按钮控件的坐标来设置其在窗口中的位置。图片
建立布局控件:get
// 建立布局控件(固定布局,任意布局) layout := gtk.NewFixed()
布局控件建立完成后,将按钮添加到布局控件中。博客
layout.Add(b)
这时按钮在窗口的左上角,咱们先调整一下按钮的位置。it
// 放在布局的指定位置 layout.Put(b, 0, 0) // 移动按钮的位置,必须先Put(),再用Move() layout.Move(b, 280, 224)
总体代码:class
package main import ( "github.com/mattn/go-gtk/gtk" "os" ) func main(){ //GTK初始化操做 gtk.Init(&os.Args) // 经过GTK建立窗口 win := gtk.NewWindow(gtk.WINDOW_TOPLEVEL) // 设置窗体的大小 win.SetSizeRequest(640, 480) // 设置窗体标题 win.SetTitle("GTK窗口") // 建立按钮 b := gtk.NewButton() // 设置按钮大小 b.SetSizeRequest(80, 32) // 设置按钮内容 b.SetLabel("点击") // 建立布局 layout := gtk.NewFixed() // 将按钮 b 添加到布局中 layout.Add(b) // 放在布局的指定位置 layout.Put(b, 0, 0) // 移动按钮的位置,必须先Put(),再用Move() layout.Move(b, 280, 224) // 将布局放在界面中显示 win.Add(layout) // 将界面显示 win.ShowAll() // 调用GTK下的main运行程序 gtk.Main() }
运行结果:
func (v *Fixed) Put(w IWidget, x, y int) 功能:固定布局容器添加控件 参数: - IWidget:要添加的控件 - x,y:控件摆放位置的坐标
func (v *Widget) ShowAll() 功能:显示全部的控件。若是窗口放入一个容器,这时容器上全部的控件也会显示
欢迎访问个人我的网站:
李培冠博客:lpgit.com