我正在尝试在 Qt5 中更改 QAbstractButton(QPushButton 或 QCheckBox)的背景颜色并且运气为零。
这什么都不做:
pButton->setAutoFillBackground(true);
QPalette palette = pButton->palette();
palette.setColor(QPalette::Window, QColor(Qt::blue));
pButton->setPalette(palette);
pButton->show();
如果我尝试更改样式表:
pButton->setStyleSheet("background-color: rgb(255,255,0);");
然后 Qt 举起双手,画了一个看起来像块状的按钮。
有一个标题为“如何更改 QWidget 的背景颜色”的页面,但它只讨论了这两种方法。
还有一个页面“ Qt Style Sheets Examples ”暗示如果你想改变背景颜色,你必须接管绘制按钮的所有方面,这似乎有点矫枉过正。
我需要它在 Mac、Windows 和 Ubuntu Linux 上运行,如果我必须手动绘制有关按钮的所有内容 3 次(每个平台一次),这真的不是一件快乐的事情。
我错过了一些明显的东西吗?
ps “背景颜色”是指按钮周围的区域,而不是按钮表面文字下方的颜色。