【PySide6】事件(Event)_视窗事件

本文主要是了解视窗事件被触发的相关时机

程式码:form_event.py

"""程式名称:form_event.py程式功能:1. 视窗本身相关事件了解"""import sysfrom PySide6.QtGui import QFocusEventfrom PySide6.QtWidgets import (    QWidget, QApplication)class MyApp(QWidget):    def __init__(self):        super().__init__()        self.setWindowTitle('form_event.py')        self.setGeometry(400, 250, 500, 300)        self.show()    def changeEvent(self, event):        print('changeEvent')            def closeEvent(self, event):        print('closeEvent')    def hideEvent(self, event):        print('hideEvent')            def moveEvent(self, event):        print('moveEvent')            def resizeEvent(self, event):        print('resizeEvent')            def showEvent(self, event):        print('showEvent')if __name__ == '__main__':    app = QApplication()    my_app = MyApp()    sys.exit(app.exec())

底下为console输出讯息:
视窗启动时:
changeEvent
moveEvent
resizeEvent
showEvent
paintEvent
paintEvent
changeEvent
paintEvent

视窗缩小至工作列时:
changeEvent
hideEvent
changeEvent

视窗被其它视窗盖住/当其它视窗移开:
(此视窗要为作用中视窗,如果用滑鼠移动其它视窗去遮盖、移开,因动作视窗是在滑鼠所按住的视窗,故不会触发事件)
changeEvent
paintEvent

视窗重新显示时:
showEvent
changeEvent
changeEvent
paintEvent

视窗移动时:
一直触发moveEvent

视窗调整大小时:
changeEvent
paintEvent
resizeEvent
paintEvent ....
resizeEvent ....

当视窗关闭时:
changeEvent
closeEvent
changeEvent
hideEvent

事件被触发的时机

函式名称何时触发changeEvent视窗启动视窗缩小至工作列 视窗被其它视窗盖住当其它视窗移开视窗重新显示视窗调整大小时视窗关闭时closeEvent视窗关闭hideEvent视窗缩小至工作列视窗关闭moveEvent视窗启动视窗移动paintEvent视窗启动视窗被其它视窗盖住/当其它视窗移开视窗重新显示resizeEvent视窗启动视窗被其它视窗盖住/当其它视窗移开视窗调整大小showEvent视窗启动视窗重新显示

有时一个操作动作当中,事件不只被触发一次,如changeEvent在很多操作当中就被触发多次。有些是连续触发,如滑鼠移动视窗就会一直触发moveEvent。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章