python - QLineEdit 更改 PlaceholderText 颜色

标签 python python-3.x pyqt pyqt5 qlineedit

我在应用程序中有一个 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()

关于python - QLineEdit 更改 PlaceholderText 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62008661/

相关文章:

python - Django 调试工具栏样式已损坏

python-3.x - Discord.py:我的程序似乎无法区分错误(MissingPerms、BotMissingPerms),因此使用了错误的处理程序

django - 我正在尝试使用从 CoinMarketCap API 提取的数据,但无法访问字典中的所有信息

python - PyQt5 不将设置保存到 ini 文件

python - 对 QSlider 使用 float

python - PyQt 中表示路径的字符串中的前导冒号是什么意思

python - 最简单的 django 定时/计划任务(例如 : reminders)?

python - 如何计算梯度来欺骗图像分类器?

python - Busted OS X Python 安装

python - 如何在 Odoo v11 中添加打印自定义报告按钮?