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. lua ffi简介

    本文转自网络 由来 FFI库,是LuaJIT中最重要的一个扩展库.它允许从纯Lua代码调用外部C函数,使用C数据结构.有了它,就不用再像Lua标准math库一样,编写Lua扩展库.把开发者从开发Lua ...

  2. Gradle技术之四 - Gradle的Task详解

    1 Gradle的Task详解 1 Task定义和配置 2 Task的执行 3 Task的依赖和执行顺序 4 Task类型 5 Task结合gradle的生命周期 6 Task实战 1.1 Task定 ...

  3. hdu 1521 排列组合【指数型生成函数】

    根据套路列出式子:\( \prod_{i=1}^{n}\sum_{j=0}^{c[i]}\frac{x^j}{j!} \),然后暴力展开即可 #include<iostream> #inc ...

  4. 【UVA - 540】Team Queue (map,队列)

    Team Queue Descriptions: Queues and Priority Queues are data structures which are known to most comp ...

  5. Centos 6.8安装 SVN

    SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subver ...

  6. spring boot eureka server

    ServerApplication @EnableEurekaServer @SpringBootApplication public class ServerApplication { public ...

  7. c++ 优先级大全

    重置优先级

  8. C/C++ 动态库so的生成与调用

    1. Linux-(C/C++)动态链接库生成以及使用(libxxx.so) 2. C++文件如何在linux下生成动态库So,以及如何使用这个动态库 3. c++ 发布动态.so 简记1. 编译生成 ...

  9. 2017zstu新生赛

    1.b^3 - a^3 = c(zy) zy说要卡nlogn的,然而他实际给的组数只有100组,然后因为在windows下随机的,所以给出的 c <= 100000.然后只要胆子大.... 通过 ...

  10. 不通过ecplise,只通过文件目录 创建最简单的JSP文件

    手动创建最简单的JSP 文件   1.在Tomcat 6.0的安装目录的webapps目录下新建一个目录,起名叫myapp. 2.在myapp目录下新建一个目录WEB-INF,注意,目录名称是区分大小 ...