行編輯,隻允許輸入一行内容的控件,如密碼輸入框。
glade設計如下:
常用信号:
信号辨別 | 觸發條件 |
---|---|
“activate” | 行編輯區内部按Enter鍵時觸發 |
示例代碼:
package main
import (
"fmt"
"os"
"github.com/mattn/go-gtk/gtk"
)
func main() {
gtk.Init(&os.Args)
builder := gtk.NewBuilder() //建立builder
builder.AddFromFile("test.glade") //讀取glade檔案
// 擷取視窗控件指針,注意"window1"要和glade裡的标志名稱比對
window := gtk.WindowFromObject(builder.GetObject("window1"))
window.SetSizeRequest(, ) //設定視窗大小
//擷取entry控件
entry := gtk.EntryFromObject(builder.GetObject("entry1"))
entry.SetText("123456") //設定内容
fmt.Println("entry text = ", entry.GetText()) //擷取内容
//entry.SetVisibility(false) //設定不可見字元,即密碼模式
//entry.SetEditable(false) //隻讀,不可編輯
entry.ModifyFontSize() //修改字型大小
//信号處理,當使用者在文本輸入控件内部按Enter鍵時引發activate信号
entry.Connect("activate", func() {
fmt.Println("entry text = ", entry.GetText()) //擷取内容
})
//按視窗關閉按鈕,自動觸發"destroy"信号
window.Connect("destroy", gtk.MainQuit)
window.ShowAll()
gtk.Main()
}
程式運作效果: