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
  • 相关阅读:
    系统安装之:虚拟机VMware V12.0.1 专业版 + 永久密钥
    PHP之:析构函数
    HTML之:让网页中的<a>标签属性统一设置-如‘新窗口打开’
    HTML之:fieldset——一个不常用的HTML标签
    系统配置 之:远程桌面连接(win7系统)
    Code笔记 之:注册页面验证码
    PHP之:PHP框架
    Code笔记 之:防盗链(图片)
    Ehcache(2.9.x)
    Ehcache(2.9.x)
  • 原文地址:https://www.cnblogs.com/wuyaxiansheng/p/14550256.html
Copyright © 2011-2022 走看看