大宇私人领地伊甸园丨宁愿做了后悔,也不要错过后悔[www.mrdayu.com]
注册

24小时联系邮箱:[email protected]

所有文章
大宇私人伊甸园: 首页 > 所有文章 > 编程人生 > 系统架构 > QT > 《大宇的Qt学习笔记》 > [004.06]事件

[004.06]事件

发布时间:2018/07/29 《大宇的Qt学习笔记》 标签qt阅读:99

事件:

在所有组件的父类(QWidget)中,定义了很多事件处理的回调函数,如:

创建一个新的项目:

新建一个QLabel继承类:

Baseclass里面填写:QLabel

因为没有QLabel预留接口。

然后系统自动生成:

我们需要修改箭头所指。

添加如上代码。

在cpp文件中实现功能。

拖出一个Label控件,提升为我们写好的MyLabel类。

代码实现:

#include "mylabel.h"
#include <QMouseEvent>
#include <QString>
MyLabel::MyLabel(QWidget *parent) : QLabel(parent)
{

}
void MyLabel::mousePressEvent(QMouseEvent *ev){
    int i=ev->x();
    int j=ev->y();
    QString text=QString("<center><h1>Mouse Press:(%1,%2)</h1></center>").arg(i).arg(j);
    this->setText(text);
}
void MyLabel::mouseReleaseEvent(QMouseEvent *ev){
    QString text=QString("<center><h1>Mouse Release:(%1,%2)</h1></center>").arg(ev->x()).arg(ev->y());
    this->setText(text);
}
void MyLabel::mouseMoveEvent(QMouseEvent *ev){
    QString text=QString("<center><h1>Mouse Move:(%1,%2)</h1></center>").arg(ev->x()).arg(ev->y());
    this->setText(text);
}

运行效果:

实现键盘按下事件:

添加实现代码:

运行效果:

The bottom line, for me, is simple.

Let’s hope it doesn’t take 500 years for a discipline of testing to becomes the standard for software developers.

From:dayu
相关推荐

您好!请登录

合作网站快捷登录:
点击取消回复

已有0评论

    大宇博客

    点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息