zoukankan      html  css  js  c++  java
  • Qt QSS QPushButton

    QSS功能强大,可以自定义各种小部件的外观,其样式表的概念,术语和语法与HTML的CSS样式表类似。

    首先创建qss文件,例如:style.qss,把它加到资源文件中, 在代码里加载文件,代码如下

    1 QFile file(":/style.qss"); 
    2 file.open(QFile::ReadOnly); 
    3 QString styleSheet = tr(file.readAll()); 
    4 this->setStyleSheet(styleSheet); 
    5 file.close();

    qss文件内容如下:

     1 QPushButton#myButton:normal/*鼠标正常时的效果*/
     2 {
     3     color:#000000;
     4     background-color:rgb(40, 85, 20); /*改变背景色*/
     5     border-style:inset;/*改变边框风格*/
     6     padding-left:4px;
     7     padding-top:4px;
     8 }
     9  
    10 /*鼠标悬浮时的效果*/
    11 QPushButton#myButton:hover
    12 {
    13     color:#0000ff;
    14     background-color:rgb(40, 85, 20); /*改变背景色*/
    15     border-style:inset;/*改变边框风格*/
    16     padding-left:8px;
    17     padding-top:8px;
    18 }
    19 /*如果按下与悬浮想同时产生效果,hover必须写在pressed的后面*/
    20 /*鼠标按下时的效果*/
    21 QPushButton#myButton:pressed
    22 {
    23     color:#00ff00;
    24     background-color:rgb(40, 85, 20); /*改变背景色*/
    25     border-style:inset;/*改变边框风格*/
    26     padding-left:6px;
    27     padding-top:6px;
    28 }
    29  
    30 /*鼠标不可用时的效果*/
    31 QPushButton#myButton:disabled
    32 {
    33     color:#000000;
    34     background-color:rgb(40, 85, 20); /*改变背景色*/
    35     border-style:inset;/*改变边框风格*/
    36     padding-left:6px;
    37     padding-top:6px;
    38 }
    39  
    40 QPushButton
    41 {
    42     color:red; /*文字颜色*/
    43     background-color:rgb(30, 78, 11);/*背景色*/
    44     border-style:outset; /*边框风格*/
    45     border-2px;/*边框宽度*/
    46     border-color:rgb(10, 46,112); /*边框颜色*/
    47     border-radius:10px; /*边框倒角*/
    48     font:bold 14px; /*字体*/
    49     font-family: Segoe UI;
    50     min-100px;/*控件最小宽度*/
    51     min-height:20px;/*控件最小高度*/
    52     padding:4px;/*内边距*/
    53 }
    54  
    55  
    56 /*按钮样式*/
    57 QPushButton:flat
    58 {
    59     border:2px solid red;
    60 }
    61  
    62 /*当按钮打开菜单时:ui->pushButton->setMenu(menu)*/
    63 QPushButton:open
    64 {
    65     background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop:0 #abdeac, stop: 1 #fafc12);
    66 }
    67  
    68 /*子选择器:菜单*/
    69 QPushButton::menu-indicator
    70 {
    71     image:url(":/close_normal.png");
    72     /*image:none;去掉小三角号*/
    73     subcontrol-origin:padding;/*绘制subcontrol的参考矩形的位置*/
    74     subcontrol-position:bottom right;/*小三角的位置*/
    75 }
    76  
    77 QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open
    78 {
    79     position:relative;
    80     top:4px;
    81     left:4px;
    82 }
  • 相关阅读:
    HDU 1394 Minimum Inversion Number 线段树
    POJ 2777 Count Color 线段树
    POJ 2828 Buy Tickets 线段树
    POJ 2528 Mayor's posters 线段树+离散化
    HDU 1166 敌兵布阵 线段树的基本应用——动态区间和问题
    【转】ACM blog 汇总
    【转】ACM资源
    【链表】关于链表的内存池
    C语言文件操作 fseek ,fread,rewind
    【转】任意进制转换--(62进制)
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14837938.html
Copyright © 2011-2022 走看看