QLineEdit 更改 PlaceholderText 颜色
QLineEdit change PlaceholderText color
我在应用程序中有一个 LineEdit 小部件,它的 PlaceholderText 会根据用户的输入进行更改。但是,我希望 PlaceholderText 看起来像普通文本,即黑色而不是灰色。
我在网上看过,但大多数结果要么不够精确,我无法理解它们,要么使用的语言与 Python 不同,这让我很难在我的脚本中实现解决方案。
要更改占位符文本的颜色,则必须使用 QPalette:
import sys
from PyQt5 import QtGui, QtWidgets
def main():
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QLineEdit(placeholderText="Stack Overflow")
pal = w.palette()
text_color = pal.color(QtGui.QPalette.Text)
# or
# text_color = QtGui.QColor("black")
pal.setColor(QtGui.QPalette.PlaceholderText, text_color)
w.setPalette(pal)
w.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
我在应用程序中有一个 LineEdit 小部件,它的 PlaceholderText 会根据用户的输入进行更改。但是,我希望 PlaceholderText 看起来像普通文本,即黑色而不是灰色。
我在网上看过,但大多数结果要么不够精确,我无法理解它们,要么使用的语言与 Python 不同,这让我很难在我的脚本中实现解决方案。
要更改占位符文本的颜色,则必须使用 QPalette:
import sys
from PyQt5 import QtGui, QtWidgets
def main():
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QLineEdit(placeholderText="Stack Overflow")
pal = w.palette()
text_color = pal.color(QtGui.QPalette.Text)
# or
# text_color = QtGui.QColor("black")
pal.setColor(QtGui.QPalette.PlaceholderText, text_color)
w.setPalette(pal)
w.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()