• Qt样式表的使用


    在Qt中,美化GUI界面最主要用到了样式表。具体情况大家可以在网上找一些相关资料了解一下。

    现在本人主要讲Qt中样式表的基本用法:

    首先给大家看一段基本代码:

    QPushButton{
        color: white;
        font: bold 10pt;
        border:none;
        min-height: 24px;
        min- 60px;
        background:url(:images/SimpleButtom.png) -60px 0px no-repeat;
    }
    QPushButton:hover{
        color: lightgray;
        background:url(:images/SimpleButtom.png) 0px 0px no-repeat;;
    }
    QPushButton:pressed {
        color: lightgray;
        background:url(:images/SimpleButtom.png)  -120px 0px no-repeat;;
        padding-top: -15px;
        padding-bottom: -17px;
    }
    *
    { font-size:13px; color:white; font-family:"宋体"; } CallWidget QLineEdit#telEdt { font-size:24px; } QMainWindow,QDialog{ background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #113845, stop: 1.0 #15A8FF); } QWidget{ background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #113845, stop: 1.0 #15A8FF); } QLabel{ background:transparent; } QTreeWidget{ background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #113845, stop: 1.0 #15A8FF); } QMenuBar { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #15A8FF, stop: 1.0 #113845); } QMenuBar::item { spacing: 3px; padding: 1px 4px; border-radius: 1px; font:#BBDDFF; background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #113845, stop: 1.0 #15A8FF); } QMenuBar::item:selected { background: #1A2432; font:#FFFFFF; } QMenuBar::item:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #10151E, stop:1 #2C547E); font:#FFFFFF; } QMenuBar::item:hover{ border-width:1px; border-color:#516589; background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9979A, stop:1 #2D567F); font:#FFFFFF; } QMenu { background-color: #030406; border-width:0px; margin: 2px; } QMenu::item { background-color: #1D2838; padding: 2px 25px 2px 20px; border-color:transparent; color:#858E94; } QMenu::item:!enabled { background-color: #1D2838; padding: 2px 25px 2px 20px; border-color:transparent; color:#76746C; } QMenu::item:selected { border-width:1px; border-color: #516589; background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #1E293A, stop: 1.0 #2C547E); color:#E6FFFF; } QMenu::icon:checked { background: gray; border: 1px inset gray; position: absolute; top: 1px; right: 1px; bottom: 1px; left: 1px; } QMenu::separator { height: 1px; background: #1D99A9; } QMenu::indicator { width: 13px; height: 13px; }

    以上代码只是个别的控件的样式设置,其他控件的样式设置仿照上面的语法即可。

    那么下面我们就看一下应该如何使用样式表(具体代码):

    QString StyleString;
    StyleString=underlineBox->currentText();
    if(StyleString=="皮肤1")
    {
    QFile file(":/qss/abc.qss");
    file.open(QFile::ReadOnly);
    styleSheet = QLatin1String(file.readAll());
    qApp->setStyleSheet(styleSheet);
    file.close();
    }
    因为文件已经被我添加到资源文件中,所以文件路径才写成(":/qss/abc.qss");,具体情况当然由大家定了。
    当然了,你要现在对应的头文件中声明:QString styleSheet;//用于设置样式表
    以上的语句可以放在main函数中也可以放在其他函数中
  • 相关阅读:
    照片墙效果一多实例演示【已封装】
    把javascript event事件封装了下,兼容大多数浏览器
    catch error
    call tcl from c
    scrollbar
    sharedlibextension
    treectrl
    get file name part
    namespace eval
    glob
  • 原文地址:https://www.cnblogs.com/wiessharling/p/3019048.html
Copyright © 2020-2023  润新知