首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在pyqt5中更改占位符文本颜色

在pyqt5中更改占位符文本颜色
EN

Stack Overflow用户
提问于 2022-06-11 02:06:55
回答 1查看 265关注 0票数 1

嗨,我如何在pyqt5中更改占位符文本颜色,我在google上尝试了不同的解决方案,但是它没有工作。

我举了个例子,这样你就能更好地理解

示例

代码语言:javascript
运行
复制
from PyQt5 import QtCore, QtWidgets
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        Dialog.setStyleSheet("background-color: rgb(50, 50, 50);color: rgb(255, 255, 255);")
        self.lineEdit = QtWidgets.QLineEdit(Dialog)
        self.lineEdit.setGeometry(QtCore.QRect(40, 110, 311, 41))
        self.lineEdit.setStyleSheet("QLineEdit,QTextEdit {border: 2px inset rgb(37, 39, 49);border-radius: 10px;color: rgba(255, 255, 255,1);padding-left: 5px;padding-right: 5px;padding-top: 5px;padding-left: 5px;background-color: qlineargradient(spread:pad, x1:0.0600746, y1:0.926, x2:0.96, y2:0.0340909, stop:0.233831 rgb(43, 45, 56), stop:0.865672 rgba(40,40,40,0.3));}QLineEdit:hover,QTextEdit:hover {border: 2px solid rgb(49, 50, 62);}QLineEdit:focus,QTextEdit:focus {border: 2px inset rgb(85, 170, 255);background-color: rgb(43, 45, 56)}")
        self.lineEdit.setObjectName("lineEdit")
        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.lineEdit.setPlaceholderText(_translate("Dialog", "how change this color to white rgb(255,255,255)"))
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())

如何将此颜色更改为白色

EN

回答 1

Stack Overflow用户

发布于 2022-07-01 15:41:19

通过QLineEdit的setStyleSheet(),您可以得到它。

来自PyQt5 import QtCore,QtWidgets,QtGui

代码语言:javascript
运行
复制
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        Dialog.setStyleSheet("background-color: rgb(50, 50, 50);color: rgb(255, 255, 255);")
        self.lineEdit = QtWidgets.QLineEdit(Dialog)
        self.lineEdit.setGeometry(QtCore.QRect(40, 110, 311, 41))
        style = '''
            QLineEdit, QTextEdit {
                border: 2px inset rgb(37, 39, 49);
                border-radius: 10px;color: rgba(255, 255, 255,1);
                padding-left: 5px;
                padding-right: 5px;
                padding-top: 5px;
                padding-left: 5px;
                background-color: qlineargradient(spread:pad, x1:0.0600746, y1:0.926, x2:0.96, y2:0.0340909, stop:0.233831 rgb(43, 45, 56), stop:0.865672 rgba(40,40,40,0.3));
            }
            QLineEdit:hover,
            QTextEdit:hover {
                border: 2px solid rgb(49, 50, 62);
            }
            QLineEdit:focus,
            QTextEdit:focus {
                border: 2px inset rgb(85, 170, 255);
                background-color: rgb(43, 45, 56)
            }

            /*  --- HERE --- */
            QLineEdit[text=\"\"]{
                color: green;
            }

        '''
        self.lineEdit.setStyleSheet(style)
        self.lineEdit.setObjectName("lineEdit")
        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.lineEdit.setPlaceholderText(_translate("Dialog", "how change this color to white rgb(255,255,255)"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72581238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档