• Qt QSS QPushButton 详细介绍


     1 QPushButton {  
     2     /* 前景色 */  
     3     color:red;  
     4 
     5     /* 背景色 */  
     6     background-color:rgb(30,75,10);  
     7 
     8     /* 边框风格 */  
     9     border-style:outset;  
    10 
    11     /* 边框宽度 */  
    12     border-2px;  
    13 
    14     /* 边框颜色 */  
    15     border-color:rgb(10,45,110);  
    16 
    17     /* 边框倒角 */  
    18     border-radius:10px;  
    19 
    20     /* 字体 */  
    21     font:bold 14px;  
    22 
    23     /* 控件最小宽度 */  
    24     min-100px;  
    25 
    26     /* 控件最小高度 */  
    27     min-height:20px;  
    28 
    29     /* 内边距 */  
    30     padding:4px;  
    31 }  
    32 
    33 /* 鼠标按下时的效果 */  
    34 QPushButton#pushButton:pressed {  
    35     /* 改变背景色 */  
    36     background-color:rgb(40,85,20);  
    37 
    38     /* 改变边框风格 */  
    39     border-style:inset;  
    40 
    41     /* 使文字有一点移动 */  
    42     padding-left:6px;  
    43     padding-top:6px;  
    44 }  
    45 
    46 /* 按钮样式 */  
    47 QPushButton:flat {  
    48     border:2px solid red;  
    49 }  
    50 
    51 /* 当按钮打开菜单时:ui->pushButton->setMenu(btnMenu) */  
    52 QPushButton:open{  
    53     background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #dadbde, stop: 1 #f6f7fa);  
    54 }  
    55 
    56 /* 子选择器:菜单 */  
    57 QPushButton::menu-indicator {  
    58     image:url(:/images/close.png);  
    59 
    60     /* 去掉小三角号   
    61     image:none;*/  
    62 
    63     /* 绘制subcontrol 的参考矩形的位置 */  
    64     subcontrol-origin:padding;  
    65 
    66     /* 小三角的位置 */  
    67     subcontrol-position:bottom right;  
    68 }  
    69 
    70 QPushButton::menu-indicator:pressed,QPushButton::menu-indicator:open {  
    71     position:relative;  
    72     top:4px;  
    73     left:4px;  
    74 } 

    前景色 color:rgb(255, 0, 0)

    1 QPushButton *btn = new QPushButton("我叫按钮");
    2 btn->setStyleSheet( QString("QPushButton{color:rgb(255, 0, 0)}      
    3                             QPushButton:hover{color:rgb(0, 255, 0)} 
    4                             QPushButton:pressed{color:rgb(0, 0, 255)}") );
    5 btn->show();

    效果如下:
    按钮上的字初始颜色是红色
    这里写图片描述

    鼠标移到按钮上后,按钮按钮上字的颜色变成绿色
    这里写图片描述

    鼠标点击后,按钮按钮上字的颜色变成蓝色
    这里写图片描述

    背景色 background-color:rgb(255, 0, 0)

    1 QPushButton *btn = new QPushButton("我叫按钮");
    2 btn->setStyleSheet( QString("QPushButton{background-color:rgb(255, 0, 0)}       
    3                             QPushButton:hover{background-color:rgb(0, 255, 0)}  
    4                             QPushButton:pressed{background-color:rgb(0, 0, 255)}") );
    5 btn->show();

    效果如下:
    按钮初始背景色是红色

    这里写图片描述

    鼠标移到按钮上后,按钮背景色变成绿色
    这里写图片描述

    鼠标点击后,按钮背景色变成蓝色
    这里写图片描述

    边框风格 border:2px solid red

    调整边框风格时,border-width >= 1。否则不管怎么调整,都看不出效果

    border-style属性值含义
    none 定义无边框。
    hidden 与 “none” 相同。不过应用于表时除外,对于表,hidden 用于解决边框冲突。
    dotted 定义点状边框。在大多数浏览器中呈现为实线。
    dashed 定义虚线。在大多数浏览器中呈现为实线。
    solid 定义实线。
    double 定义双线。双线的宽度等于 border-width 的值。
    groove 定义 3D 凹槽边框。其效果取决于 border-color 的值。
    ridge 定义 3D 垄状边框。其效果取决于 border-color 的值。
    inset 定义 3D inset 边框。其效果取决于 border-color 的值。
    outset 定义 3D outset 边框。其效果取决于 border-color 的值。
    inherit 规定应该从父元素继承边框样式。
    1 QPushButton *btn = new QPushButton("我叫按钮");
    2 btn->setStyleSheet( QString("QPushButton{border:2px solid #ff0000}       
    3                             QPushButton:hover{border:5px dotted #00ff00} 
    4                             QPushButton:pressed{border:10px groove #0000ff}") );
    5 btn->show();

    效果如下:
    按钮初始为普通红色边框
    这里写图片描述

    鼠标移到按钮上后,按钮边框变成绿色点状边框
    这里写图片描述

    鼠标点击按钮后,按钮边框变成蓝色3D 凹槽边框
    这里写图片描述

    边框倒角 border-radius:2px

    1 QPushButton *btn = new QPushButton("我叫按钮");
    2 btn->setStyleSheet( QString("QPushButton{   border:2px solid red;               
    3                                             border-top-left-radius:4px;         
    4                                             border-top-right-radius:8px;        
    5                                             border-bottom-left-radius:16px;     
    6                                             border-bottom-right-radius:32px }   
    7                             QPushButton:hover{border:5px dotted #00ff00}        
    8                             QPushButton:pressed{border:10px groove #0000ff}") );
    9 btn->show();

    效果如下:
    这里写图片描述

  • 相关阅读:
    rocketMQ部署
    Redis Cluster集群搭建
    如何为nginx配置https(免费证书)
    台式机主机u盘安装centos7报错及注意事项
    docker运行模式图
    Mysql5.7版本安装
    Jumpserver安装过程
    macos系统安装mysql
    macos系统安装nginx
    一些小知识总结(虽然可能没用)
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13588387.html
Copyright © 2020-2023  润新知