Go-Qt5開發之文本框 QLineEdit(29)

Go-Qt5開發之文本框 QLineEdit

案例說明

  • 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()
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章