QSS之QPushButton 详细介绍

官方参考资料

QPushButton {  
    /* 前景色 */  
    color:red;  

    /* 背景色 */  
    background-color:rgb(30,75,10);  

    /* 边框风格 */  
    border-style:outset;  

    /* 边框宽度 */  
    border-width:2px;  

    /* 边框颜色 */  
    border-color:rgb(10,45,110);  

    /* 边框倒角 */  
    border-radius:10px;  

    /* 字体 */  
    font:bold 14px;  

    /* 控件最小宽度 */  
    min-width:100px;  

    /* 控件最小高度 */  
    min-height:20px;  

    /* 内边距 */  
    padding:4px;  
}  

/* 鼠标按下时的效果 */  
QPushButton#pushButton:pressed {  
    /* 改变背景色 */  
    background-color:rgb(40,85,20);  

    /* 改变边框风格 */  
    border-style:inset;  

    /* 使文字有一点移动 */  
    padding-left:6px;  
    padding-top:6px;  
}  

/* 按钮样式 */  
QPushButton:flat {  
    border:2px solid red;  
}  

/* 当按钮打开菜单时:ui->pushButton->setMenu(btnMenu) */  
QPushButton:open{  
    background-color:qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #dadbde, stop: 1 #f6f7fa);  
}  

/* 子选择器:菜单 */  
QPushButton::menu-indicator {  
    image:url(:/images/close.png);  

    /* 去掉小三角号   
    image:none;*/  

    /* 绘制subcontrol 的参考矩形的位置 */  
    subcontrol-origin:padding;  

    /* 小三角的位置 */  
    subcontrol-position:bottom right;  
}  

QPushButton::menu-indicator:pressed,QPushButton::menu-indicator:open {  
    position:relative;  
    top:4px;  
    left:4px;  
} 

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

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

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

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

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

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

QPushButton *btn = new QPushButton("我叫按钮");
btn->setStyleSheet( QString("QPushButton{background-color:rgb(255, 0, 0)}       \
                            QPushButton:hover{background-color:rgb(0, 255, 0)}  \
                            QPushButton:pressed{background-color:rgb(0, 0, 255)}") );
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规定应该从父元素继承边框样式。
QPushButton *btn = new QPushButton("我叫按钮");
btn->setStyleSheet( QString("QPushButton{border:2px solid #ff0000}       \
                            QPushButton:hover{border:5px dotted #00ff00} \
                            QPushButton:pressed{border:10px groove #0000ff}") );
btn->show();

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

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

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

边框倒角 border-radius:2px

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

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

  • 35
    点赞
  • 196
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值