Qt设置QPushButton的背景颜色

Qt Set background Color of QPushButton

我是 Qt 的新手,我正在对程序进行一些更改。我想要做的是让一个名为 start_ 的 QPushButton 在单击时更改其颜色。按钮在此处声明:

void StatusTab::CreateControlFrame() {
start_ = new QPushButton(tr("Start Capture"), this);
start_->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
button_layout->addWidget(start_, 0, 0, 1, 1);
connect(start_, SIGNAL(clicked()), this, SLOT(OnStartClicked()));
}

我猜测需要在OnStartClicked()方法中添加代码,但我不确定我需要使用哪些功能。任何帮助将不胜感激。

您是否尝试过 Qt Designer,您可以使用它添加小部件并调整它们 apparence.conveniently。 Qt 提供 QSS 来自定义小部件。 Examples。在这种情况下,您可以使用

start_->setStyleSheet("QPushButton:pressed { \
    background-color: rgb(224, 0, 0);        \
    border-style: inset;                     \
}");

您可以在Qt Designer 中设置QSS。