package main import ( "os" "ttqt/uigen" "fmt" "github.com/therecipe/qt/core" "github.com/therecipe/qt/widgets" ) func main() { _translate := core.QCoreApplication_Translate app := widgets.NewQApplication(len(os.Args), os.Args) // 創建窗口 window := widgets.NewQMainWindow(nil, 0) // 顯示窗口 window.Show() // 加載UI界面 var win uigen.UIMainwindowMainWindow // 綁定 win.SetupUI(window) // ---------------------- 測試事件綁定 -------------- // 設置按鈕觸發,觸發退出程序 win.PushButtonStartCheck.ConnectClicked(func(checked bool) { fmt.Println("點擊按鈕,開始檢測") win.LabelCheck01.SetText(_translate("MainWindow", RedFont("不通過"), "", -1)) }) win.PushButtonCloseWindow.ConnectClicked(func(checked bool) { fmt.Println("關閉窗口,按鈕") window.Close() }) // --------------- 啟動程序 ---------------- app.Exec() } func RedFont(text string) string { s := fmt.Sprintf("<html><head/><body><p><span style=\" color:#ff0000;\">%v</span></p></body></html>", text) return s } // func main() { // app := widgets.NewQApplication(len(os.Args), os.Args) // // // 創建窗口 // window := widgets.NewQMainWindow(nil, 0) // // // 設置大小 // window.SetMinimumSize2(500, 500) // // // 設置窗口標題 // window.SetWindowTitle("U盤質量檢測工具 --44開發") // // // 顯示窗口 // window.Show() // // app.Exec() // }
使用工具,.ui -> .go
#!/bin/bash
# ui界面界面文件生成go語言代碼
goqtuic -ui-file mainwindow.ui
編譯,運行
#!/bin/bash
# 編譯
qtdeploy build linux ttqt
# 運行
./deploy/linux/ttqt
參考: https://www.cnblogs.com/apocelipes/p/9300335.html