Python QLineEdit更改占位符文本颜色

Python QLineEdit更改占位符文本颜色,python,python-3.x,pyqt,pyqt5,qlineedit,Python,Python 3.x,Pyqt,Pyqt5,Qlineedit,我在应用程序中有一个LineEdit小部件,它的占位符文本会根据用户的输入进行更改。但是,我希望占位符文本看起来像普通文本,即黑色而不是灰色 我在网上查看过,但大多数结果要么不够精确,我无法理解,要么使用了不同于Python的语言,这使得我很难在脚本中实现解决方案。要更改占位符文本的颜色,则必须使用Qpalete: import sys from PyQt5 import QtGui, QtWidgets def main(): app = QtWidgets.QApplicat

我在应用程序中有一个LineEdit小部件,它的占位符文本会根据用户的输入进行更改。但是,我希望占位符文本看起来像普通文本,即黑色而不是灰色


我在网上查看过,但大多数结果要么不够精确,我无法理解,要么使用了不同于Python的语言,这使得我很难在脚本中实现解决方案。

要更改占位符文本的颜色,则必须使用Qpalete:

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()

非常好的解决方案