如何在QLineEdit中同时显示光标和占位符文本?

时间:2014-08-07 16:28:46

标签: python python-2.7 qt4 pyqt4

我有QLineEdit PlaceholderText

我只想在一个人开始输入时清除PlaceholderText,否则闪烁的光标和PlacehoderText都应该在QLineEdit中。{/ p>

这是页面的第一个字段,因此我将焦点设置为此QLineEdit,但PlaceholderText会在显示此页面后立即消失。

请建议我是否必须为此QLIneEdit添加SIGNAL / SLOT,以便PlaceholderText不会被清除。

2 个答案:

答案 0 :(得分:1)

在PyQt4中,它不是一个bug而是一个功能。您无法编辑此行为。在PyQt5中,显示占位符文本,直到文本不为空。

解决问题的一种简单方法是在QLintEdit之前专注于某种方式。当用户按下TAB按钮时,下一个焦点为QLintEdit

答案 1 :(得分:0)

你走了:

from PyQt4 import QtGui

class LE(QtGui.QLineEdit):

    def __init__(self, parent=None, starttext="Sample"):
        QtGui.QLineEdit.__init__(self, parent)
        self.start = True
        self.setText(starttext)

    def keyPressEvent(self, e):
        if e.text():
            if self.start:
                self.clear()
                self.start = False
                e.accept()           
        QtGui.QLineEdit.keyPressEvent(self,e)