这个代码什么也没做:
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样式表示例”,它暗示如果您想更改背景颜色,必须接管绘制按钮的所有方面,这似乎就是过度设计。
我需要在Mac、Windows和Ubuntu Linux上运行,如果我必须手动三次绘制关于按钮的所有内容(每个平台一次),那将会是非常不愉快的事情。
我是否错过了明显的东西?
附言:通过“背景颜色”,我指的是按钮周围的区域,而不是按钮正面文字下方的颜色。