• 三、golang-qt 使用qrc资源qss样式表


    继续使用上次的代码

    使用qt的资源qrc需要在根目录建立qrc文件文件内容为

    <RCC>
        <qresource prefix="/omc">
            <file>resource/imgs/loginback.png</file>
            <file>resource/imgs/start.ico</file>
        </qresource>
        <qresource prefix="/omcqss">
            <file>style/login.qss</file>      
        </qresource>
    </RCC>

    qrc文件其实就是个xml文件 perfix 是前缀file里面的内容就是从项目根目录为相对路径的具体资源的路径,建立好对应的资源文件如图

     其中qss里的样式为:

    QWidget{
        background-color: white;
        background-image: url(:/omc/resource/imgs/loginback.png);
        background-repeat: no-repeat;
    }

    接下来给出使用的代码

    package mainwindow
    
    import (
        "fmt"
    
        "github.com/therecipe/qt/core"
        "github.com/therecipe/qt/widgets"
    
        "omc/ui"
        "omc/xlog"
    )
    
    type __loginwindow struct{}
    
    func (*__loginwindow) Init() {}
    
    type loginwindow struct {
        *__loginwindow
        *ui.Omcbasewindow
    }
    
    func Newloginwindow(p widgets.QWidget_ITF) *loginwindow {
        var par *widgets.QWidget
    
        if p != nil {
            par = p.QWidget_PTR()
        }
    
        w := &loginwindow{Omcbasewindow: ui.NewOmcbasewindow(par)}
    
        w.Init()
        w.setupUI()
        return w
    }
    
    func (w *loginwindow) setupUI() {
        if w.ObjectName() == "" {
            w.SetObjectName("loginwindow")
        }
        w.Resize2(663, 450)
        w.retranslateUi()
    }
    
    func (w *loginwindow) retranslateUi() {
    
        //设置界面
        //w.SetWindowTitle("用户登录")
        w.SetWindowFlags(core.Qt__FramelessWindowHint)
        //应用样式
        w.SetStyleSheet(getQssContent(":/omcqss/style/login.qss"))
    }
    
    //读取qss文件
    func getQssContent(path string) string {
        qf := core.NewQFile2(path)
        var style string = ""
        if qf.Open(core.QIODevice__ReadOnly) {
            style = qf.ReadAll().Data()
        }
        defer qf.Close()
        xlog.Info(fmt.Sprintf("qss string is %s
    ", style))
        return style
    }
    不想平凡,奈何太懒 T_T
  • 相关阅读:
    NSFileHandle学习
    NSFileManager学习创建拷贝删除
    电量电费的尖峰平谷
    电表的付费模式
    电能表类型
    oracle递归
    相关子查询和非相关子查询
    再说exists 关键字,和inner join 差别大
    发电厂和电力局的关系
    js的toFixed()方法
  • 原文地址:https://www.cnblogs.com/wuyaxiansheng/p/14550256.html
Copyright © 2020-2023  润新知