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
  • 相关阅读:
    OP_REQUIRES failed at conv_ops.cc:386 : Resource exhausted: OOM when allocating tensor with shape..
    Python中*args和**kwargs的区别
    命令行运行Python脚本时传入参数的三种方式
    关于 initWithNibName 和 loadNibNamed 的区别和联系-iPhone成长之路
    NSBundle介绍
    UIView总结
    iPhone How-to:如何调整UIView的Z-Order
    有关View的几个基础知识点-IOS开发
    NSNumber与NSInteger的区别
    iOS第三方开源库的吐槽和备忘
  • 原文地址:https://www.cnblogs.com/wuyaxiansheng/p/14550256.html
Copyright © 2011-2022 走看看