0
Mac OSX에서 (command + q) 키를 누르면 My PyQt 애플리케이션이 닫힙니다.Mac OSX에서 pyqt 응용 프로그램에서 command + Q 키를 비활성화하는 방법은 무엇입니까?
(즉) 내 응용 프로그램은 창
에 (Alt + F4) 키를 눌러 유사 close 이벤트를 수신하지만 closing 이벤트의 유형을 해제 할 수 있습니다 어떻게 맥 네이티브 가까운 키보드 바로 가기이다.다음은 내 qmainwindow가 close 이벤트를 수신하지 않아야하는 샘플 코드입니다.
#! /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()
???
는 qmainwindow 위젯에 대한 keypressevent 기능을 재정 의하여 무시 할 수 없습니다. –