QT 按钮保持按下时样式

通常设置按钮press样式后,当你点击离开后,按钮又恢复成了未按下时的状态。

想要按钮按下后保持press样式下的样式,操作如下:

1、将所有按钮的如下的两个状态均选中

2、在每个按钮的槽函数后面加上setDown()函数,如下我的四个按钮,

void radarCom::on_sendBtn_clicked()
{
 
   ui->SAradarBtn->setDown(false);
    ui->antennaBtn->setDown(false);
    ui->sendBtn->setDown(true);
    ui->receiverBtn->setDown(false);
}

设置完成运行就可以看到你要的效果了!

 
 
 

 

  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要实现按钮保持按下的形式,可以在Qt中使用QCheckBox或QRadioButton来代替QPushButton。 对于QCheckBox,可以设置它的三态属性为false,这样它就变成了一个普通的复选框,然后设置它的样式为QPushButton的样式即可。这个样式可以通过样式表进行设置,例如: ``` QCheckBox { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #dadbde, stop:1 #f6f7fa); border-style: solid; border-width: 1px; border-radius: 3px; border-color: #c8c8c8; padding: 2px; } QCheckBox::indicator { width: 13px; height: 13px; border-radius: 6px; border-style: solid; border-width: 1px; border-color: #c8c8c8; background-color: qradialgradient(cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 #fff, stop:0.6 #fff, stop:1 #c8c8c8); } QCheckBox::indicator:checked { background-color: qradialgradient(cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 #fff, stop:0.6 #fff, stop:1 #6ca2f7); border-color: #6ca2f7; } ``` 对于QRadioButton,同样可以设置它的样式为QPushButton的样式,例如: ``` QRadioButton { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #dadbde, stop:1 #f6f7fa); border-style: solid; border-width: 1px; border-radius: 3px; border-color: #c8c8c8; padding: 2px; } QRadioButton::indicator { width: 13px; height: 13px; border-radius: 6px; border-style: solid; border-width: 1px; border-color: #c8c8c8; background-color: qradialgradient(cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 #fff, stop:0.6 #fff, stop:1 #c8c8c8); } QRadioButton::indicator:checked { background-color: qradialgradient(cx:0.5, cy:0.5, radius:1, fx:0.5, fy:0.5, stop:0 #fff, stop:0.6 #fff, stop:1 #6ca2f7); border-color: #6ca2f7; } ``` 这样,就可以实现按钮保持按下的形式了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值