QMouseEvent下可以被重写的虚函数:

1.void mousePressEvent(QMouseEvent *event); //鼠标键被按下的事件.

2.void mouseReleaseEvent(QMouseEvent *event); //鼠标键被放开的事件.

3.void mouseMoveEvent(QMouseEvent *event); //按住鼠标键移动的事件.

4.void mouseDoubleClickEvent(QMouseEvent *event); //鼠标键被双击的事件.

QMouseEvent类中的重要函数:

1.QPoint pos(); //返回鼠标相对于父部件的坐标.

2.QPoint globalPos(); //返回鼠标的全局坐标.

3.QMouseButton button(); //返回鼠标被点击的键.

“c.cpp”下的代码:#include "c.h"c::c(QWidget *parent)

: QMainWindow(parent)

{

ui.setupUi(this);

}

c::~c()

{

}void c::mouseMoveEvent(QMouseEvent *event)

{    //保存鼠标移动的时候的尾坐标.

end = event->pos();    //用来重绘更新.可以理解为调用paintEvent函数,但不一定是立即调用的.在此程序中可以理解为:马上更新窗口上显示的图像.

update();

}void c::paintEvent(QPaintEvent *event)

{    //画一个矩形.

QPainter painter(this);

painter.setPen(Qt::red);

QRect temp(start, end);

painter.setBrush(Qt::green);

painter.drawRect(temp);

}void c::mouseReleaseEvent(QMouseEvent *event)

{    //当左键释放后,保存尾坐标.

if (event->button() == Qt::LeftButton)

{        this->end = event->pos();

update();

}

}void c::mousePressEvent(QMouseEvent *event)

{    //当左键被按下时,保存首坐标.并更新重绘.

if (event->button() == Qt::LeftButton)

{        //点击的时候定下初始位置.

this->start = event->pos();

}

}123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051

“c.h”的代码:#ifndef C_H#define C_H#include #include "ui_c.h"#include #include #include #include #include #include class c : public QMainWindow

{

Q_OBJECTpublic:    c(QWidget *parent = 0);

~c();protected:    void mouseMoveEvent(QMouseEvent *event);    void mouseReleaseEvent(QMouseEvent *event);    void mousePressEvent(QMouseEvent *event);    void paintEvent(QPaintEvent *event);private:

Ui::cClass ui;

QPoint start;

QPoint end;

};#endif // C_H1234567891011121314151617181920212223242526272829303132

最后是”main.cpp”下的代码:#include "c.h"#include int main(int argc, char *argv[])

{

QApplication a(argc, argv);

c w;

w.show();    return a.exec();

}

paintevent参数_Qt学习: QPaintEvent和QMouseEvent的简单程序示例相关推荐

  1. paintevent参数_QT 作图事件 PaintEvent

    QT 绘制事件 PaintEvent 对事件的响应是通过信号与槽调用 事件中根据事件触发的条件发出不同的信号 比如:鼠标事件发出clicked与dblclicked等信号 QT中事件是怎么实现的? Q ...

  2. 嵌入式成长轨迹34 【嵌入式学习阶段】【ARM环境调试】【QT 移植环境及简单程序示例】---补充《ok6410 Qt移植百科全书》...

    更新版 http://www.cnblogs.com/zeedmood/archive/2012/12/08/2808393.html 书上提及的有这些,分别说明下,里边打*可以不弄:   Tslib ...

  3. SSH学习笔记(9)__Spring5_概述/简单程序/整合日志

    Spring5学习笔记 本文章基于B站UP主 孙帅suns 的视频教程<孙哥说Spring5>进行整理记录,本文章仅用于个人学习/交流使用. 参考博客:https://blog.csdn. ...

  4. Mysql一些重要配置参数的学习与整理(一)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Mysql一些重要配置参数的学习与整理(一) 最近一直在进行mysql的学习,主要是学习mysql的一些配置参数,了 ...

  5. Mysql一些重要配置参数的学习与整理(二)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Mysql一些重要配置参数的学习与整理(二) 上一篇,Mysql一些重要配置参数的学习与整理(一)中,我们了解和学习 ...

  6. 长尾序列用户行为建模中可转移参数的学习(KDD-2020)

    本文给大家分享的是阿里和浙大合作发表在KDD-2020上的文章<Learning Transferrable Parameters for Long-tailed Sequential User ...

  7. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  8. php django mysql配置文件_Mysql学习Django+mysql配置与简单操作数据库实例代码

    <Mysql学习Django+mysql配置与简单操作数据库实例代码>要点: 本文介绍了Mysql学习Django+mysql配置与简单操作数据库实例代码,希望对您有用.如果有疑问,可以联 ...

  9. 贝叶斯优化神经网络参数_贝叶斯超参数优化:神经网络,TensorFlow,相预测示例

    贝叶斯优化神经网络参数 The purpose of this work is to optimize the neural network model hyper-parameters to est ...

最新文章

  1. python的plt函数_plt.plot画图函数
  2. 周志华《机器学习》课后习题解析(第四章):决策树
  3. 介绍“又一个” Cloud Foundry Gradle插件
  4. 教学计划计算机,计算机教学计划模板
  5. dwr java有返回值但是js获取不到返回值_一探究竟:Java反射效率低的原因到底在哪?...
  6. Git提交错了不用慌,这三招帮你修改记录
  7. thinkphp中I(parm)用法的注意事项
  8. SSH框架下的在线人数统计的一种解决途径
  9. POJ 1050 To the Max (最大子矩阵和)
  10. Oracle数据库下载
  11. vc sp5 补丁下载地址
  12. windbg分析BSOD dump文件实战
  13. amd显卡用黑苹果输出黑屏_黑苹果XFX讯景显卡刷vBIOS教程,使其黑苹果显卡更稳定完美,不再黑屏...
  14. 2019-PINN-A deep learning framework for solving forward and ... nonlinear PDEs
  15. linux 断开远程vnc,Linux停VNC远程控制的使用方法
  16. 选择深度学习的GPU卡
  17. PTA 租用游艇问题
  18. 第十六节 桥、桥、桥,得一桥得天下
  19. Mq报错:Caused by: com.rabbitmq.client.ShutdownSignalException
  20. 龙芯中科科创板上市:市值357亿 成国产CPU第一股

热门文章

  1. 微波浅谈(一)更新中
  2. hashCode 一致性hash 算法
  3. Elasticsearch 日期时间处理
  4. 读《图解HTTP》有感-(HTTP报文内的HTTP消息)
  5. 对Spring的一些理解
  6. [转载] Python连接MySQL、Mongodb、SQLite
  7. 新随笔 注:关注后可阅读(持续更新--------)
  8. Django基础--4
  9. 微软Power BI 每月功能更新系列——3月Power BI 新功能学习
  10. [svc]centos7的服务治理-systemd