我使用PyQt4和Python 2.7.9。
我的程序包含一些QLineEdit
个对象。问题是,当程序启动时,其中一个QLineEdits
会自动聚焦,这会导致我的占位符文本消失。
有没有办法阻止它,或者至少不让它隐藏占位符文本?
答案 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以编程方式完成。