概述
文章目录
- 1、简介
- 2、功能实现
- 1)、继承 MainWindow 类
- 2、继承 QWidget 类
1、简介
在窗口状态发生改变时实现这些事件的捕捉
继承 MainWindow 类实现的窗体
继承 QWidget 实现的窗体
类似
2、功能实现
1)、继承 MainWindow 类
import sys
from PyQt5 import QtCore
from PyQt5.QtWidgets import QMainWindow, QAction, qApp, QApplication
from PyQt5.QtGui import QIcon
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
exitAction = QAction(QIcon('exit.png'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setStatusTip('Exit application')
exitAction.triggered.connect(qApp.quit)
self.statusBar()
menubar = self.menuBar()
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Menubar')
self.show()
# 添加 复写 窗口状态改变 函数
def changeEvent(self, e):
if e.type() == QtCore.QEvent.WindowStateChange:
if self.isMinimized():
print("窗口最小化")
elif self.isMaximized():
print("窗口最大化")
elif self.isFullScreen():
print("全屏显示")
elif self.isActiveWindow():
print("活动窗口")
# 添加 复写 显示窗口函数
def showEvent(self, e):
print("窗口显示")
def hideEvent(self, e):
print("窗口隐藏")
def closeEvent(self,e):
print ("窗口关闭")
def moveEvent(self,e):
print ("窗口移动")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
2、继承 QWidget 类
from PyQt5 import QtCore, QtWidgets
class MyWindow(QtWidgets.QWidget):
def __init__(self, parent=None):
QtWidgets.QWidget.__init__(self, parent)
self.resize(300, 100)
def changeEvent(self, e):
if e.type() == QtCore.QEvent.WindowStateChange:
if self.isMinimized():
print("窗口最小化")
elif self.isMaximized():
print("窗口最大化")
elif self.isFullScreen():
print("全屏显示")
elif self.isActiveWindow():
print("活动窗口")
def showEvent(self, e):
print("窗口显示")
def hideEvent(self, e):
print("窗口隐藏")
def closeEvent(self,e):
print ("窗口关闭")
def moveEvent(self,e):
print ("窗口移动")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
对于窗口更多的事件介绍 比如重绘 paintEvent(self,event) 、尺寸重置 paintEvent(self,event) 用法类似。
最后
以上就是大力马里奥为你收集整理的pyqt5 窗口 事件监听回调的全部内容,希望文章能够帮你解决pyqt5 窗口 事件监听回调所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复