Bootstrap

QT——事件

一、什么是事件

在QT中,事件(Event)是指由特定对象发生的动作或状态变化,通常用于响应用户的操作。事件可以是鼠标点击、键盘输入、窗口移动等用户操作,也可以是系统发出的信号,比如定时器超时、网络数据到达等。在QT中,可以通过连接信号与槽(Signals and Slots)的方式来处理事件,实现相应的功能逻辑。总结来说只要是用户手动操作产生的效果,都是事件。

如果ui上面的没有控件能发送信号,只能重写事件(虚函数),

二、鼠标事件

QT鼠标事件是指在QT框架中对鼠标操作进行处理的事件。mousePressEvent(鼠标按下事件)、mouseReleaseEvent(鼠标释放事件)、mouseMoveEvent(鼠标移动事件)、mouseDoubleClickEvent(鼠标双击事件)等。通过对这些事件进行处理,可以实现相应的功能和交互效果。

代码示例:写了mousePressEvent函数来处理鼠标点击事件。当左键点击时,在label上显示"Left button clicked",当右键点击时,在label上显示"Right button clicked"。

widget.h代码示例

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMouseEvent>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;

protected:
    virtual void mousePressEvent(QMouseEvent *event)
;