0
當我在Mac OSX中按(command + q)鍵時,我的PyQt應用程序關閉。如何在Mac OSX中停用pyqt應用程序中的command + Q鍵?
(即)我的應用程序接收到類似於Windows
按下(ALT + F4)鍵關閉事件,但我如何禁用這種類型的關閉事件的是MAC本土關閉鍵盤快捷鍵。
以下是我的示例pyqt代碼,我希望我的qmainwindow不應收到關閉事件。
#! /usr/bin/python
import sys
import os
from PyQt4 import QtGui
class Notepad(QtGui.QMainWindow):
def __init__(self):
super(Notepad, self).__init__()
self.initUI()
def initUI(self):
self.setGeometry(300,300,300,300)
self.setWindowTitle('Notepad')
self.show()
self.raise_()
#def keyPressEvent(self, keyEvent):
# print(keyEvent,'hi')
# print('close 0', keyEvent.InputMethod)
# if keyEvent.key() != 16777249:
# super().keyPressEvent(keyEvent)
# else:
# print(dir(keyEvent))
# return False
def closeEvent(self, event):
reply = QtGui.QMessageBox.question(self, 'Message',
"Are you sure to quit?", QtGui.QMessageBox.Yes |
QtGui.QMessageBox.No, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
def main():
app = QtGui.QApplication(sys.argv)
notepad = Notepad()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
???
無法通過重寫keypressevent功能部件QMainWindow的忽視。 –