zoukankan      html  css  js  c++  java
  • 三、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
  • 相关阅读:
    SpringBoot学习笔记
    2021牛客多校第一场 I题(DP)
    CSS小结
    AOP小结
    IOC容器小结
    Educational Codeforces Round 56 (Rated for Div. 2) G题(线段树,曼哈顿距离)
    Codeforces Round #656 (Div. 3) E. Directing Edges(拓扑排序)
    Educational Codeforces Round 101 (Rated for Div. 2) E
    [FJOI2017]矩阵填数 (容斥原理)
    优秀代码样板收集计划(python)
  • 原文地址:https://www.cnblogs.com/wuyaxiansheng/p/14550256.html
Copyright © 2011-2022 走看看