Qt设置QLineEdit的背景颜色

19

我试图改变QLineEdit的背景颜色,但完全弄不清楚该怎么做。

我最初尝试使用如下的stylesheets

QLineEdit *le = new QLineEdit();
le->setStyleSheet("background:#000;");

但是那样并没有起作用。我尝试这样使用 QPalette

QPalette palette;
palette.setColor(QPalette::Base, Qt::black);
palette.setColor(QPalette::Background, Qt::black);
le.setPalette(palette);    

但这也没有作用。我已经寻找了一整天,仍然找不到任何东西。我是做错了什么还是有其他方法可以实现?

4个回答

21

您可以通过设置调色板来设置行编辑器的背景和文本颜色,例如:

QLineEdit *le = new QLineEdit();

QPalette palette;
palette.setColor(QPalette::Base,Qt::black);
palette.setColor(QPalette::Text,Qt::white);
le->setPalette(palette);

10

对我而言运作良好:

QLineEdit *le = new QLineEdit();
le->setStyleSheet("QLineEdit { background: rgb(0, 255, 255); selection-background-color: rgb(233, 99, 0); }");

啊,我找到了它,只是因为窗口有 Qt::WA_TranslucentBackground 属性。这一整天都让我发疯了,还是谢谢你的帮助。 - David Ludwig
@DavidLudwig,我很高兴你解决了问题。考虑到这是一个有效的答案,将其标记为已接受会很有帮助... - Iuliu

5

4

我必须像这样使用标准css中的background-color:

QLineEdit* edit = new QLineEdit();
edit->setStyleSheet("QLineEdit {background-color: black;}");

我正在使用Qt 5.4


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接