1

我的 Qt 版本是 4.7.1,我想将 QLineEdit 的背景颜色设置为与窗口颜色相同,我使用这种方式:

QString bgColorName = palette().color(QPalette::Normal, QPalette::Window).name();
QString strStyleSheet = QString("QLineEdit {background-color: ").append(bgColorName).append("}");
ui->lineEdit->setStyleSheet(strStyleSheet);

我尝试获取背景颜色名称,然后设置QLineEdit的样式表,但是,运行应用程序后,我发现QLineEdit的颜色有点不同,也就是说,如果你仔细看,你可以看到不同,在 Win7 和 Mac 上。谁能帮我找到一种方法来获得正确的对话框背景颜色,提前谢谢你。

4

1 回答 1

1

您发布的代码实际上对我有用(使用 Windows 7)。您是否使用 Photoshop 等图像编辑器验证了行编辑的背景与对话框不同?有时大脑会耍花招,并认为背景颜色不同(由于边框),而实际上并非如此。

顺便说一句,您可以使用如下样式表使 QLineEdit 的背景透明:

QLineEdit le("Line Edit with transparent BG");
le.setStyleSheet("background:transparent;");
于 2012-05-14T15:39:39.630 回答