当前位置 博文首页 > 文章内容

    Qt QSS QPushButton 详细介绍

    作者: 栏目:未分类 时间:2020-08-31 11:01:07

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



     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-width: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-width: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();

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