0

我有一个QWizardPage可以选择现有名称或在 QLineEdit 中输入新名称的地方。新名称必须是唯一的,因此我重载QWizardPage.isComplete()以验证新名称是否唯一。

然后文档说,QWizardPage.completeChanged只要状态发生变化,就必须发出它。所以我QLineEdit.textChanged像这样使用插槽:

@Slot(str)
def on_lineEdit_textChanged(self, text):
    self.completeChanged.emit()
    #QtCore.QTimer.singleShot(1, lambda: self.setFocus())

但是,每次您在 QLineEdit 中输入内容时,它都会失去焦点。因此,每次按键后,您都必须再次单击 QLineEdit 才能继续。所需的行为是让 QLineEdit 保持焦点,以便可以完全输入新名称,而不仅仅是单个字符。

我尝试返回焦点(注释掉的行),但这没有效果。我该如何解决?

4

0 回答 0