QPushButton点击之后长亮 再次点击灭
时间: 2024-05-02 22:02:49 浏览: 103
QPushButton(按钮)
您可以通过设置QPushButton的样式表来实现这个效果。具体步骤如下:
1. 在QPushButton的构造函数中设置样式表:
```
QPushButton::pressed {
background-color: yellow;
}
QPushButton::checked {
background-color: green;
}
```
2. 将QPushButton的checkable属性设置为true,这样点击之后就会进入checked状态。
3. 在QPushButton的clicked信号中判断当前状态,如果是checked状态就将其设置为unchecked状态,否则设置为checked状态。
完整代码如下:
```
QPushButton *button = new QPushButton("Button");
button->setCheckable(true);
connect(button, &QPushButton::clicked, [=](){
if (button->isChecked()) {
button->setChecked(false);
} else {
button->setChecked(true);
}
});
button->show();
```
这样,当您点击按钮时,它会变成黄色,并且在长按时保持黄色状态。再次点击它,它会变成绿色,再次点击它,它会回到黄色状态。
阅读全文