Qt按钮透明-[解决嵌入式设备,按钮按下背景颜色为黑色或者不同透明]

需求:无感按钮(透明按钮)

参考:同是,遇到了下面的问题,大哥给出了原因

  1. setFlat(true)的效果是:不点击按钮透明,点击按钮,能显示出来按钮本来的轮廓和颜色;

  2. background-color: rgba(0, 0, 0, 0)的效果是:不点击按钮透明,点击按钮,显示按钮的轮廓,但是按钮是黑色的;

解决嵌入式设备,按钮按下背景颜色为黑色或者不同透明

  • 使用setFlat函数实现按钮透明的效果
QPushButton *mode =new QPushButton(this);
mode->setFlat(true);//实现按钮透明的效果

但是有时 不一定 是设置 true 会生效,设置的为 false 才生效

解决案例

  1. 无字体按键按下不透明
// 不生效
bt->setFlat(true);
bt->setFocusPolicy(Qt::NoFocus);

bt->setStyleSheet("QPushButton{font-size:24px;
color:#ffffff;text-align:left;border-color:rgba(0,0,0,0);}");
// 生效
bt->setFlat(false);
bt->setFocusPolicy(Qt::NoFocus);

bt->setStyleSheet("border:nonr;background:transparent;
color:#ffffff;text-align:left;font-size:24px;");
  1. 有字体按键按下不透明
// 不好使
bt->setStyleSheet("QPushButton{font-size:%24px;color:#ffffff;
text-align:left;background-color:rgba(0,0,0,0);}");

// 好使
bt->setStyleSheet("border:nonr;background:transparent;
color:#ffffff;text-align:left;font-size:24px;");
  • 这样就可以按下透明,无需再设置空白透明图片了



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值