【发布时间】:2018-12-09 15:59:31
【问题描述】:
我创建了 QInputDialog 并在其中配置了事件过滤器,但我不知道如何防止它在eventFilter(self, widget, event) 方法中单击 ESC 或 ENTER 按钮时关闭。
self.inDialog = QInputDialog(self)
#some config...
self.inDialog.setLabelText('')
self.nameAction.setText('&Nazwa pola głównego ✔')
self.inDialog.show()
我的事件过滤器概念:
def eventFilter(self, widget, event):
if isinstance(event, QtGui.QKeyEvent):
if event.key() == 16777220:
return False
# here I want to call super somehow?
return
值得一提的是,我在调用此 QInputdialog 的 QMainWindow 类中执行所有这些操作。我不想继承 QDialog 并手动编写所有内容。
【问题讨论】:
-
我的错 - 它是 QInputDialog。
-
你能提供一个minimal reproducible example吗?
-
Red中的ESC/Enter/Red是什么? -
已编辑 - 键盘上的按钮。
-
试试我的解决方案。
标签: python pyqt pyqt5 qinputdialog