【PyQt学习篇 · ⑥】:QWidget - 事件

事件消息

显示和关闭事件

  1. showEvent(QShowEvent)方法:

    • showEvent()方法在窗口即将显示时被调用。
    • 它的参数QShowEvent可以提供一些有关显示事件的信息。
    • 可以通过重写showEvent()方法来执行一些在窗口显示前需要初始化的操作。
  2. closeEvent(QCloseEvent)方法:

    • closeEvent()方法在窗口即将关闭时被调用。
    • 它的参数QCloseEvent可以提供一些有关关闭事件的信息。
    • 可以通过重写closeEvent()方法来执行一些在窗口关闭前需要处理的操作,例如保存数据或询问用户是否确认关闭窗口。

以下是一个使用showEvent()closeEvent()的示例代码:

from PyQt5.QtWidgets import *
import sys


class MyWindow(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)

    def showEvent(self, QShowEvent):
        print('窗口被显示出来')

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

if __name__ == '__main__':
    app = QApplication(sys.argv)

    window = MyWindow()
    window.show()

    sys.exit(app.exec_())

运行结果:

在这里插入图片描述

移动事件

moveEvent(QMoveEvent)方法:

  • moveEvent()方法在窗口移动时被调用。
  • 它的参数QMoveEvent提供了有关移动事件的详细信息,包括窗口的新位置。

以下是一个使用moveEvent()的示例代码:

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

运行结果:

在这里插入图片描述

调整大小事件

resizeEvent(QResizeEvent)方法:

  • resizeEvent()方法在窗口调整大小时被调用。
  • 它的参数QResizeEvent提供了有关调整大小事件的详细信息,包括窗口的新大小。

以下是一个使用resizeEvent()的示例代码:

def resizeEvent(self, QResizeEvent):
    print('窗口大小被调整了')

运行结果:

在这里插入图片描述

鼠标事件

进入和离开事件

  1. enterEvent(QEvent)方法:

    • enterEvent()方法在鼠标进入窗口时被调用。
    • 它的参数QEvent提供了有关进入事件的详细信息。
    • 可以通过重写enterEvent()方法来执行一些在鼠标进入窗口时需要的操作,例如更改鼠标的样式或显示一些提示信息。
  2. leaveEvent(QEvent)方法:

    • leaveEvent()方法在鼠标离开窗口时被调用。
    • 它的参数QEvent提供了有关离开事件的详细信息。
    • 可以通过重写leaveEvent()方法来执行一些在鼠标离开窗口时需要的操作,例如清除鼠标的样式或隐藏提示信息。

以下是一个使用enterEvent()leaveEvent()的示例代码:

# 鼠标进入控件时背景改为红色
def enterEvent(self, QEnterEvent):
    self.setStyleSheet("background-color: red;")

# 鼠标离开控件时背景改为蓝色
def leaveEvent(self, QLeaveEvent):
    self.setStyleSheet("background-color: blue;")

运行结果:
如下图所示,左图为鼠标离开控件时,右图为进入控件时。

在这里插入图片描述

鼠标按下和释放事件

  1. mousePressEvent(QMouseEvent)方法:

    • mousePressEvent()方法在鼠标按下时被调用。
    • 它的参数QMouseEvent提供了有关按下事件的详细信息,例如鼠标的位置和按下的按钮。
    • 可以通过重写mousePressEvent()方法来执行一些在鼠标按下时需要的操作,例如捕获鼠标事件、拖拽操作或执行特定的函数。
  2. mouseReleaseEvent(QMouseEvent)方法:

    • mouseReleaseEvent()方法在鼠标释放时被调用。
    • 它的参数QMouseEvent提供了有关释放事件的详细信息,例如鼠标的位置和释放的按钮。
    • 可以通过重写mouseReleaseEvent()方法来执行一些在鼠标释放时需要的操作,例如处理点击事件、完成拖拽操作或执行特定的函数。

以下是一个使用

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

街 三 仔

你的鼓励是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值