控件是對數據和方法的封裝。控件有本身的屬性和方法。屬性是指控件的特徵。方法是指控件的一些簡單而可見的功能。如按鈕就是一個控件,這個按鈕是方形的,裏面有張圖片,這是咱們能看到外觀屬性,同時,這個按鈕具有被人按下的功能。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