qt设置选中按钮的背景色
时间: 2024-09-29 16:11:35 浏览: 66
在Qt中,你可以通过继承`QPushButton`并重写其样式来设置选中状态下的背景颜色。首先,你需要创建一个自定义的`QPushButton`子类,例如`CustomButton`:
```cpp
class CustomButton : public QPushButton {
public:
CustomButton(QWidget* parent = nullptr) : QPushButton(parent) {}
protected:
void paintEvent(QPaintEvent*) override {
// 当按钮被选中(pressed)时改变背景颜色
if (isDown()) {
QPainter painter(this);
QColor selectedColor; // 设置你想要的选中颜色,比如 QColor::red
painter.fillRect(rect(), selectedColor);
}
// 调用基类的paintEvent()处理默认绘制
QPushButton::paintEvent(&event);
}
};
```
然后在你的UI设计或者布局中实例化这个自定义按钮:
```cpp
CustomButton myButton;
myButton.setStyleSheet("background-color: white;"); // 设置默认背景色
// ...将myButton添加到QLayout或窗口上
```
当用户点击按钮时,它的背景会变为你在`paintEvent()`中设定的颜色。
阅读全文