案例說明
-
QLineEdit是用於輸入或編輯單行文本的控件。
-
它還有撤銷重做、剪切複製和拖拽功能。
-
示例中展示了一個QLineEdit與一個QLabel。
我們在QLineEdit中輸入的文字會實時顯示在QLabel控件中。
demo.go
package main
import (
"github.com/therecipe/qt/core"
"github.com/therecipe/qt/gui"
"github.com/therecipe/qt/widgets"
"os"
)
/*
QLineEdit是用於輸入或編輯單行文本的控件。
它還有撤銷重做、剪切複製和拖拽功能。
示例中展示了一個QLineEdit與一個QLabel。
我們在QLineEdit中輸入的文字會實時顯示在QLabel控件中。
*/
func InitUi() *widgets.QMainWindow {
// 創建窗口
app := widgets.NewQMainWindow(nil, 0)
// 設置窗口的標題
app.SetWindowTitle("Qt 教程")
// 設置窗口的位置和大小
app.SetGeometry2(300, 300, 300, 220)
// 設置窗口的圖標,引用當前目錄下的web.png圖片
app.SetWindowIcon(gui.NewQIcon5("images/app.ico"))
// 佈局窗口組件載體
widget := widgets.NewQWidget(app, core.Qt__Widget)
//widget.SetGeometry(core.NewQRect4(300, 300, 300, 220))
widget.SetGeometry2(0, 0, 300, 220)
app.SetCentralWidget(widget)
// 狀態欄
app.StatusBar()
// 標籤
lbl := widgets.NewQLabel(widget, 0)
lbl.Move2(60, 40)
// 文本框
qle := widgets.NewQLineEdit(widget)
qle.Move2(60, 100)
// 文本框的內容發生改變的時候,會調用方法
qle.ConnectTextChanged(func(text string) {
//在方法中我們將QLabel控件的文本設置爲輸入的內容。
lbl.SetText(text)
//通過調用adjustSize()方法將QLabel控件的尺寸調整爲文本的長度。
lbl.AdjustSize()
})
return app
}
func main() {
// 創建一個應用程序對象
// sys.argv參數是一個列表,從命令行輸入參數
widgets.NewQApplication(len(os.Args), os.Args)
// 初始化窗口
app := InitUi()
// 顯示組件
app.Show()
// 確保應用程序乾淨的退出
widgets.QApplication_Exec()
}