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

posted @ 2020-03-25 17:54  jiftle  阅读(6837)  评论(0编辑  收藏  举报