示例代码
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QKeyEvent
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.full_screen = False # 标记是否处于全屏模式
self.initUI()
def initUI(self):
self.setWindowTitle("F11全屏示例")
self.setGeometry(100, 100, 800, 600)
def keyPressEvent(self, event: QKeyEvent):
# 捕捉键盘按下事件
if event.key() == Qt.Key_F11:
if self.full_screen:
self.showNormal() # 退出全屏模式
self.full_screen = False
else:
self.showFullScreen() # 进入全屏模式
self.full_screen = True
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
重写QMainWindow代码
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.is_full_screen = False
self.setFont(standard_font) # 设置标准字体
# 按下F11设置全屏
def keyPressEvent(self, event: QKeyEvent):
# 捕捉键盘按下事件
if event.key() == Qt.Key_F11:
if self.is_full_screen:
self.showNormal() # 退出全屏模式
self.is_full_screen = False
else:
self.showFullScreen() # 进入全屏模式
self.is_full_screen = True