QT QSS设置按钮边界样式

QT设置按钮边界样式

本学习添加三个按钮来做研究:

QVBoxLayout* vbox = new QVBoxLayout();
QWidget* w = new QWidget(this);
this->setCentralWidget(w);
m_btn = new QPushButton("btn1",this);
m_btn2 = new QPushButton("btn2",this);
m_btn3 = new QPushButton("btn3",this);
m_btn->setFixedHeight(100);
m_btn2->setFixedHeight(100);
m_btn3->setFixedHeight(100);

设置背景
// this->setWindowOpacity(0.5); //全透明,包含控件
// this->setAttribute(Qt::WA_TranslucentBackground, true); //全透明不包含控件
this->setObjectName(“yjd”);
this->setStyleSheet(“QMainWindow#yjd{background-color:rgb(0,200,200)}”); //设置不继承给子类的背景颜色

//none :  无边框。与任何指定的border-width值无关
//hidden :  隐藏边框。IE不支持
//dotted :  在MAC平台上IE4+与WINDOWS和UNIX平台上IE5.5+为点线。否则为实线(常用)
//dashed :  在MAC平台上IE4+与WINDOWS和UNIX平台上IE5.5+为虚线。否则为实线(常用)
//solid :  实线边框(常用)
//double :  双线边框。两条单线与其间隔的和等于指定的border-width值
//groove :  根据border-color的值画3D凹槽
//ridge :  根据border-color的值画菱形边框
//inset :  根据border-color的值画3D凹边
//outset :  根据border-color的值画3D凸边
m_btn->setStyleSheet("QPushButton{background-color:black;"
                     "color:white;"    //字体颜色
                     "border-radius:50px}");    //边界弧度
                     
m_btn2->setStyleSheet("QPushButton{background-color:rgb(0,0,200);"
                      "border:10px solid gray;}"); //边界宽度,样式,颜色
                      
m_btn3->setStyleSheet("QPushButton{background-color:yellow;"
                      "border-style:dashed;"            //设置样式。注意:此类方式设置,最好带上此项设置,否则其它关于边界的设置可能无效。
                      "border-left-style:solid;border-right-style:outset;border-top-style:none;border-bottom-style:dotted;"//分别设置四个方向的样式。
                      "border-color:white;"               //设置总体的边界颜色  //分别设置四个方向的颜色                 border-left-color:red;border-right-color:black;border-top-color:rgb(122,255,23);border-bottom-color:green;
                      "border-width:5px;}");              //设置总体的边界宽度  //分别设置四个方向的边界宽度        border-left-width:5px;border-right-width:5px;border-top-width:15px;border-bottom-width:10px;
vbox->addWidget(m_btn);
vbox->addWidget(m_btn2);
vbox->addWidget(m_btn3);
w->setLayout(vbox);

注意当只设置一边、两边、三边时,如果设置无效,那么一定要设置上边界样式才能是其他边界样式生效:
border-top-style:solid;
border-top-color:red;
border-top-width:5px;
或:
border-top:5px solid red;
如果刚好就不设置上边界,可以使用如下写法:
border-top-style:none;
border-top-color:red;
border-top-width:5px;

border-top:0px solid red;

设置圆角:
border-top-left-radius: 25px;
border-top-right-radius: 25px;
border-bottom-left-radius: 25px;
border-bottom-right-radius: 25px;

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Qt中,可以使用QSSQt Style Sheet)来设置控件的样式QSS是一种样式文本规范,可以通过QApplication::setStyleSheet()方法设置整个应用的样式,或者使用QWidget::setStyleSheet()方法设置某个QWidget及其子类窗体的样式QSS的格式类似于CSS,可以设置控件的背景图片、大小、字体颜色、字体类型、按钮状态变化等属性,用于美化UI界面。通过QSS,可以实现界面和程序的分离,快速切换皮肤,以及快速实现应用程序的外观界面。QSS的优点是简单便捷,可以在不编译运行程序的前提下直观预览一些常用样式设置效果,方便、直观、快捷地完成对界面的样式风格设置。你可以参考Qt的帮助文档来了解更多关于QSS的用法和示例。\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [Qtqss常用样式总结](https://blog.csdn.net/wangshuping18/article/details/128932269)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用Qss设置窗体样式](https://blog.csdn.net/fuhanghang/article/details/124508405)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方忘忧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值