在 qt 中,您通常QWidget
使用QPalette
.
例子:
QPalette palette = new QPalette();
palette.setBrush(QPalette::Base, this->palette().backgorund());
QLineEdit *line = new QLineEdit();
line->setPalette(palette);
现在我有一个小问题。无法使用 . 更改 QLineEdit 的边框颜色QPalette
。这意味着,我必须使用QStyleSheet
.
例子:
QLineEdit *line = new QLineEdit();
line.setStyleSheet("border: 1px solid green");
但现在我不能用 设置 QLineEdit 的基色QPalette
,因为 QLineEdit 的背景色不再连接到QPalette::base
. 这意味着,以下代码不会更改background-color
:QLineEdit
QPalette palette = new QPalette();
palette.setBrush(QPalette::Base, this->palette().backgorund());
QLineEdit *line = new QLineEdit();
line->setPalette(palette);
line->setStyleSheet("border: 1px solid green");
background-color
但是在 StyleSheet 中定义 QLineEdit是不可能background-color
的,因为QLineEdit
必须是动态的。
我的问题:如何将 with 的背景颜色连接起来QLineEdit
以动态QPalette::base
定义with ?background-color
QLineEdit
QPalette