【发布时间】:2018-06-08 19:57:03
【问题描述】:
我用 QT 设计器做了两个 ui,我用 uic.loadUi() 调用了这些 ui。 我想使用 keyPressEvent 创建一个退出代码的快捷方式,因为我所有的 GUI 都以全屏方式运行。代码将在树莓派中运行。 我找到了一个带有 keyPressEvent 的代码,但它只适用于 self.show() 窗口。我不使用该窗口,但该事件不适用于我的 ui 窗口。如何在使用 QTdesigner 制作的 ui 窗口中运行 keyPressEvent?(self.ui 和 self.goodsUi)
class Form(QtWidgets.QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)
我想用这两个窗口
self.ui = uic.loadUi("ui/a.ui")
self.goodsUi = uic.loadUi("ui/goods.ui")
self.ui.showFullScreen()
self.goodsUi.showFullScreen()
我想删除这个窗口/我不使用它
self.showFullScreen()
self.resize(10, 10)
这是仅在 self.show()window 中有效的按键事件
def keyPressEvent(self, event):
if event.key() == Qt.Key_D:
sys.exit(1)
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
w = Form()
sys.exit(app.exec())
【问题讨论】:
-
或者有没有其他方法可以添加类似快捷方式的代码来关闭所有窗口?请回答。谢谢!
标签: python user-interface pyqt5 keypress