我正在使用QtDesigner(4.8.7)來構建一個QDialog,它將作爲我創建的QGIS插件的主要交互點。大部分用戶輸入都是通過各種QLineEdit字段輸入的,其中一些字段有placeholderText
集。不要自動對焦QDialog字段
不幸的是,每次打開QDialog時,立即選擇一個QLineEdit字段(即它接收焦點),導致placeholderText消失,以便允許用戶輸入文本。因此,我想知道是否可以創建一個不會自動關注任何字段的QDialog。 這將允許我的插件的最終用戶在自己輸入任何值之前檢查佔位符文本。
我目前正在初始化了QDialog如下:
import PyQt4.QtGui as QTG
import PyQt4.QtCore as QTC
from dialog_ui import Ui_dialog
class UI (object):
def __init__(self, iface):
# iface is just a way to interact with QGIS
self.iface = iface
self.container = QTG.QDialog()
self.ui = Ui_dialog()
self.setup()
def setup(self):
self.ui.setupUi(self.container)
# Custom ui setup code follows after this...
# Called by an external function
def show(self):
self.container.exec_()
這起作用最初,但問題一旦用戶選擇任何領域時再次發生。 – mathsaey
@mathsaey。是的 - 這就是爲什麼我給調用'setFocus()';-)的替代解決方案 – ekhumoro