事件消息指用户的一些动作,例如点击按钮等。本节介绍PyQt中的一些事件,分别是显示和关闭控件、移动事件、调整大小事件。

显示控件showEvent、关闭控件closeEvent

  • showEvent(QShowEvent) : 控件显示事件调用
  • closeEvent(QCloseEvent) : 控件关闭事件调用
# -*- coding: UTF-8 -*-
from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("事件消息的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        pass

    def showEvent(self, QShowEvent):
        print("窗口打开")

    def closeEvent(self, QCloseEvent):
        print("窗口关闭")

# 方便在模板里进行调试
if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

上面代码核心的部分是 :

def showEvent(self, QShowEvent):
        print("窗口打开")
def closeEvent(self, QCloseEvent):
    print("窗口关闭")

其他地方都是模板。

当窗口被打开时,就会触发showEvent、关闭就会触发closeEvent

移动事件moveEvent

# -*- coding: UTF-8 -*-
from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("事件消息的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        pass

    def moveEvent(self, QMoveEvent):
        print("窗口移动了")

# 方便在模板里进行调试
if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

当窗口移动的时候,就会触发moveEvent事件。

调整大小事件resizeEvent

当控件的大小被调整的时候,就会触发调整大小事件。

# -*- coding: UTF-8 -*-
from PyQt5.Qt import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("事件消息的学习")
        self.resize(500, 500)
        self.setup_ui()

    def setup_ui(self):
        pass

    def resizeEvent(self, QResizeEvent):
        print("窗口的大小尺寸被改变")


# 方便在模板里进行调试
if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

只要窗口的大小发生变化,就会触发这个事件。


博主个人公众号
版权声明 ▶ 本网站名称:陶小桃Blog
▶ 本文链接:https://www.52txr.cn/2022/pyqtEvent1.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!

最后修改:2022 年 07 月 14 日
如果觉得我的文章对你有用,请随意赞赏