我的问题是:我使用的是Qt,我的表单中有两个QLineEdits (名称、作者)和一个QTextEdit (描述)。我需要为每个占位符设置占位符,所以我编写了以下代码:
name->setPlaceholderText("Name");
author->setPlaceholderText("Author");
description->setPlaceholderText("Description");现在,我想使用QSS对其进行样式化,因此我编写了以下内容:
QLineEdit[text=""],
QTextEdit[text=""] {
color: red;
}但不幸的是,这只适用于QLineEdits,我无法找到一种方法来检查QTextEdit在QSS中是否为空。你有什么想法吗?提前谢谢。
发布于 2022-03-08 09:26:57
有一种非常简单的方法可以通过编程来实现。您可以更改QPalette的QLineEdit和QTextEdit,并使用setColor修改QPalette::Text。
另一种同样的方法是捕获信号(如果它是empty的话)并设置样式表。
https://doc.qt.io/qt-5/stylesheet-examples.html在QT文档中没有这样做的参考。
如果您想查看复杂的示例,而不是这样的话:
Change color of placeholder text in QLineEdit
https://forum.qt.io/topic/90176/change-qlineedit-placeholder-text-color
https://stackoverflow.com/questions/71391863
复制相似问题