自动关注显示会删除QLineEdit的占位符文本

时间:2014-12-19 22:25:31

标签: python qt pyqt focus qlineedit

我使用PyQt4和Python 2.7.9。

我的程序包含一些QLineEdit个对象。问题是,当程序启动时,其中一个QLineEdits会自动聚焦,这会导致我的占位符文本消失。

有没有办法阻止它,或者至少不让它隐藏占位符文本?

2 个答案:

答案 0 :(得分:2)

另一种方式是

self.this_widget.clearFocus()
窗口显示后

。仅在Qt5中,即使有焦点,也会显示占位符文本。所以也许可以切换到PyQt5。

答案 1 :(得分:1)

您可以使用setFocus将焦点放在不同的小部件上(但是,根据您选择的小部件,您可能还需要先设置focus-policy):

    self.some_other_widget.setFocusPolicy(QtCore.Qt.TabFocus)
    self.some_other_widget.setFocus()

或者,如果您使用Qt Designer创建GUI,则可以edit the tab-order,以便行编辑不是链中的第一个。这也可以使用QWidget.setTabOrder以编程方式完成。