C++ QLineEdit的Qt设置背景色
我正在尝试更改C++ QLineEdit的Qt设置背景色,c++,qt,background,qlineedit,palette,C++,Qt,Background,Qlineedit,Palette,我正在尝试更改QLineEdit的背景色,但我完全弄不清楚 我最初尝试像这样使用样式表 QLineEdit *le = new QLineEdit(); le->setStyleSheet("background:#000;"); QPalette palette; palette.setColor(QPalette::Base, Qt::black); palette.setColor(QPalette::Background, Qt::black); le.setPalette(pa
QLineEdit
的背景色,但我完全弄不清楚
我最初尝试像这样使用样式表
QLineEdit *le = new QLineEdit();
le->setStyleSheet("background:#000;");
QPalette palette;
palette.setColor(QPalette::Base, Qt::black);
palette.setColor(QPalette::Background, Qt::black);
le.setPalette(palette);
但那没用。我试着像这样使用qpalete
QLineEdit *le = new QLineEdit();
le->setStyleSheet("background:#000;");
QPalette palette;
palette.setColor(QPalette::Base, Qt::black);
palette.setColor(QPalette::Background, Qt::black);
le.setPalette(palette);
但这也没起什么作用。我找了一整天,什么也没找到。我做错了什么事,还是有别的办法?对我来说很好:
QLineEdit *le = new QLineEdit();
le->setStyleSheet("QLineEdit { background: rgb(0, 255, 255); selection-background-color: rgb(233, 99, 0); }");
通过如下设置选项板,可以设置line edit的背景和文本颜色:
QLineEdit *le = new QLineEdit();
QPalette palette;
palette.setColor(QPalette::Base,Qt::black);
palette.setColor(QPalette::Text,Qt::white);
le->setPalette(palette);
我必须使用标准css的背景色,如下所示:
QLineEdit* edit = new QLineEdit();
edit->setStyleSheet("QLineEdit {background-color: black;}");
我使用的是Qt5.4您的代码几乎正确。只有QLine edit使用基础颜色。因此,如果您不想替换可能包含边框、填充和边距的现有样式表,并且只想更改背景,请使用QPalette:
QPalette palette = _ui->lnSearch->palette();
palette.setColor(QPalette::Base, Qt::green);
_ui->lnSearch->setPalette(palette);
感谢:啊,我找到了它是什么,只是因为窗口具有
Qt::WA_transparcentbackground
属性。这一整天都让我发疯。谢谢though@DavidLudwig我很高兴你明白了。考虑到这是一个有效的答案,将答案标记为已接受将是有帮助的。。。