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 @   jiftle  阅读(6848)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
历史上的今天:
2017-03-25 C#类的修饰符
2017-03-25 淘宝-保证金缴纳的类目及对应金额(2017.3.25)
点击右上角即可分享
微信分享提示