golang + qt5 開發GUI程序


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM