1. Qt中的事件处理

    1.1. 捕获QLabel中是鼠标事件

    1.2. enterevent 鼠标进入

    1.3. leaveevent 鼠标离开

    1.4. 鼠标按下MyLabel::mousePressEvent(QMouseEvent *ev)

      1.4.1. 其中的ev可以获取到x、y的坐标

      1.4.2. 获取是左键、右键或者中建ev.button();

      1.4.3. 如果是判断移动状态,需要利用ev.button() &左键……

      1.4.4. QString 格式化字符串 QString (x =%1 ,y = %2).arg(x).arg(y)

    1.5. 鼠标释放

    1.6. 鼠标移动

    1.7. 设置鼠标追踪

  2. 定时器事件

    2.1. void timerEvent(QTimerEvent *event);

    2.2. 通过event 获取到定时器的id ,e->timerid();

    2.3. 启动定时器startTimer(毫秒) 返回值就是定时器唯一标识

  3. 定时器类

    3.1. QTimer 类

    3.2. 实例化 QTimer *timer = new QTimer(this );

    3.3. 启动定时器  timer->start(500);

    3.4. 发送信号 timeout();

    3.5. 暂停 stop();

  4. 事件分发器

    4.1. bool event(QEvent *e);

    4.2. e->type() 所有Qt中的事件

    4.3. 事件分发器中可以做事件的拦截操作,如果用户进行了拦截,在对应的事件里返回true 代表自己处理事件

  5. 事件过滤器

    5.1. 步骤1:给控件安装事件过滤器

    5.2. 步骤2:重写eventFilter事件

  6. 绘图事件

    6.1.  void   paintEvent(QPaintEvent *);

    6.2. 声明画家 QPainter painter (this );

    6.3. 画 线、圆、矩形、字

    6.4. 设置画笔  宽度 风格 颜色

    6.5. 设置画刷 风格

  7. 高级绘图事件

    7.1. 设置抗锯齿

    7.2. 保存画家状态

    7.3. 去除画家状态

    7.4. 利用画家 绘制图片

    7.5. 手动调用绘图事件利用的函数是 update();

  8. 绘图设备

    8.1. QPixmap

      8.1.1. 对不同平台下的内容做了显示的优化

    8.2. QImage

      8.2.1. 对像素访问做了优化

    8.3. QPicture

      8.3.1. 记录和重现QPainter的绘图命令

    8.4. QBitMap

      8.4.1. 色深限定为1,只有黑白色

    8.5. Qwidget

      8.5.1. 窗口绘图,利用绘图事件来进行绘图

  9. QFile 文件读写

    9.1. 读

    9.2. Qfile file (文件路径);

    9.3. 指定打开方式,open(QIODevice::ReadOnly);

    9.4. readAll 读所有  readLine  读单行

    9.5. 指定编码格式

      9.5.1. QTextCodec * codec = QTextCodec::codecForName("gbk");

      9.5.2. ui->textEdit->setText(codec->toUnicode(arr));

    9.6. 关闭文件对象

      9.6.1. file.close();

    9.7. 写

    9.8. QFile file (文件路径);

    9.9. 指定打开的方式open (QIODevice::writeOnly/Append);

    9.10. file.write(“要写的内容”);

    9.11. file.colse();

  10. QFileInfo文件信息

    10.1. QFileInfo  info (文件路径);

    10.2. 读取文件信息,大小、后缀名suffix,路径,文件名

    10.3. 创建日期 最后修改日期 QDateTime 利用tostring 格式化输出

QT_8_Qt中的事件处理_定时器事件_定时器类_事件分发器_事件过滤器_绘图事件_高级绘图事件_绘图设备_QFile 文件读写_QFileInfo文件信息的更多相关文章

  1. 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class p

    严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener]org.springframework ...

  2. cocos2d-x游戏引擎核心之五——触摸事件和触摸分发器机制

    一.触摸事件 为了处理屏幕触摸事件,Cocos2d-x 提供了非常方便.灵活的支持.在深入研究 Cocos2d-x 的触摸事件分发机制之前,我们利用 CCLayer 已经封装好的触摸接口来实现对简单的 ...

  3. 在Linux系统中使用Vim读写远程文件

    大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...

  4. 10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析

    4. Reader线程_使用EventHub读取事件 使用inotify监测/dev/input下文件的创建和删除 使用epoll监测有无数据上报 细节: a.fd1 = inotify_init(& ...

  5. Qt事件系统之一:Qt中的事件处理与传递

    一.简介 在Qt中,事件作为一个对象,继承自 QEvent 类,常见的有键盘事件 QKeyEvent.鼠标事件 QMouseEvent 和定时器事件 QTimerEvent 等,与 QEvent 类的 ...

  6. jQuery中的事件处理

    1.页面载入完毕响应事件所谓页面载入完毕是指DOM元素载入就绪了,能够被读取和操作了.①jQuery中的$(doucument).ready()事件ready(fn)是jQuery事件模块中最重要的一 ...

  7. 第39课 Qt中的事件处理(下)

    1. 事件的传递过程 (1)操作系统检测到用户动作时,会产生一条系统消息,该消息被发送到Qt应用程序 (2)Qt应用程序收到系统消息后,将其转化为一个对应的QEvent事件对象,并调用QObject: ...

  8. 第38课 Qt中的事件处理(上)

    1. GUI程序原理回顾 (1)图形界面应用程序的消息处理模型 (2)思考:操作系统发送的消息如何转变为Qt信号 2. Qt中的事件处理 (1)Qt平台将系统产生的消息转换为Qt事件 ①Qt事件是一个 ...

  9. DOM中的事件处理概览与原理的全面剖析

    事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信,DOM支持大量的事件: 本文通过这几点向大家详细解析事件处理的基本原理:事件类型.事件目标.事件处理程序.事件对象.事件传播 最后再向 ...

随机推荐

  1. Oracle Escape

    select * from tablewhere col like '%\_'escape'\'

  2. hdoj1272 小希的迷宫

    并查集 = =.一开始判断连通,没有判断环,后来判断了环,没有判断连通... 还有就是一开始是0 0,也是Yes,有道理么?我不是很懂.. #include <iostream> #inc ...

  3. 二分匹配ZOJ3646

    //题意:类比线代里:把矩阵中的U看作[1],是否满足一个满秩矩阵 //利用二分匹配就是 //每一行都有相对应的列: #include<iostream> #include<stri ...

  4. Cg(c for graphic)语言的数据类(转)

    抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 本章将着重介绍Cg语言中预定义的内置(bu ...

  5. Java class不分32位和64位

    1.32位JDK编译的java class在32位系统和64位系统下都可以运行,64位系统兼容32位程序,可以理解.2.无论是Linux还是Windows平台下的JDK编译的java class在Li ...

  6. MVC 感触

    这几天接触了下 ef+ MVC+WEBAPI +bootstrop VIEW--->Controller  -->WebAPI  ---Model (Linq) 记住 VIEW里的 csh ...

  7. 在MacOs上安装sqlsrv Mojave - 找不到'php.h'文件

    Mojave没有安装标头. 要安装标头: open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_1 ...

  8. Python递归和迭代

    递归 在函数内部,调用函数自身的编程技巧称为递归( recursion).递归函数结构清晰,很直观的理解计算过程,但也有严重缺点:相对于普通循环而言,递归运行效率较低,经过很多冗余的计算,递归会消耗大 ...

  9. Android Studio无法预览xml布局之解决方法(两种)

    学习安卓程序开发,用的Android Studio,发现怎么更改xml代码都没有想要的效果.如图 代码如下: <?xml version="1.0" encoding=&qu ...

  10. Sereja and Brackets(括号匹配)

    Description Sereja has a bracket sequence s1, s2, ..., sn, or, in other words, a string s of length  ...