【问题标题】:QLineEdit change PlaceholderText colorQLineEdit 更改 PlaceholderText 颜色
【发布时间】:2020-05-25 18:39:36
【问题描述】:

我在应用中有一个 LineEdit 小部件,它的 PlaceholderText 会根据用户的输入发生变化。但是,我希望 PlaceholderText 看起来像普通文本,即黑色而不是灰色。

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

【问题讨论】:

    标签: python python-3.x pyqt pyqt5 qlineedit


    【解决方案1】:

    要更改 placeholderText 的颜色,您必须使用 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()
    

    【讨论】:

    • 非常好的解决方案
    猜你喜欢
    • 2014-09-03
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2013-07-23
    • 2015-01-29
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多