我有QLineEdit
PlaceholderText
。
我只想在一个人开始输入时清除PlaceholderText
,否则闪烁的光标和PlacehoderText
都应该在QLineEdit
中。{/ p>
这是页面的第一个字段,因此我将焦点设置为此QLineEdit
,但PlaceholderText
会在显示此页面后立即消失。
请建议我是否必须为此QLIneEdit
添加SIGNAL / SLOT,以便PlaceholderText
不会被清除。
答案 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)