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