QT_8_Qt中的事件处理_定时器事件_定时器类_事件分发器_事件过滤器_绘图事件_高级绘图事件_绘图设备_QFile 文件读写_QFileInfo文件信息
- 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文件信息的更多相关文章
- 异常将上下文初始化事件发送到类的侦听器实例.[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 ...
- cocos2d-x游戏引擎核心之五——触摸事件和触摸分发器机制
一.触摸事件 为了处理屏幕触摸事件,Cocos2d-x 提供了非常方便.灵活的支持.在深入研究 Cocos2d-x 的触摸事件分发机制之前,我们利用 CCLayer 已经封装好的触摸接口来实现对简单的 ...
- 在Linux系统中使用Vim读写远程文件
大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...
- 10.5 android输入系统_Reader线程_使用EventHub读取事件和核心类及配置文件_实验_分析
4. Reader线程_使用EventHub读取事件 使用inotify监测/dev/input下文件的创建和删除 使用epoll监测有无数据上报 细节: a.fd1 = inotify_init(& ...
- Qt事件系统之一:Qt中的事件处理与传递
一.简介 在Qt中,事件作为一个对象,继承自 QEvent 类,常见的有键盘事件 QKeyEvent.鼠标事件 QMouseEvent 和定时器事件 QTimerEvent 等,与 QEvent 类的 ...
- jQuery中的事件处理
1.页面载入完毕响应事件所谓页面载入完毕是指DOM元素载入就绪了,能够被读取和操作了.①jQuery中的$(doucument).ready()事件ready(fn)是jQuery事件模块中最重要的一 ...
- 第39课 Qt中的事件处理(下)
1. 事件的传递过程 (1)操作系统检测到用户动作时,会产生一条系统消息,该消息被发送到Qt应用程序 (2)Qt应用程序收到系统消息后,将其转化为一个对应的QEvent事件对象,并调用QObject: ...
- 第38课 Qt中的事件处理(上)
1. GUI程序原理回顾 (1)图形界面应用程序的消息处理模型 (2)思考:操作系统发送的消息如何转变为Qt信号 2. Qt中的事件处理 (1)Qt平台将系统产生的消息转换为Qt事件 ①Qt事件是一个 ...
- DOM中的事件处理概览与原理的全面剖析
事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信,DOM支持大量的事件: 本文通过这几点向大家详细解析事件处理的基本原理:事件类型.事件目标.事件处理程序.事件对象.事件传播 最后再向 ...
随机推荐
- Oracle Escape
select * from tablewhere col like '%\_'escape'\'
- hdoj1272 小希的迷宫
并查集 = =.一开始判断连通,没有判断环,后来判断了环,没有判断连通... 还有就是一开始是0 0,也是Yes,有道理么?我不是很懂.. #include <iostream> #inc ...
- 二分匹配ZOJ3646
//题意:类比线代里:把矩阵中的U看作[1],是否满足一个满秩矩阵 //利用二分匹配就是 //每一行都有相对应的列: #include<iostream> #include<stri ...
- Cg(c for graphic)语言的数据类(转)
抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 本章将着重介绍Cg语言中预定义的内置(bu ...
- Java class不分32位和64位
1.32位JDK编译的java class在32位系统和64位系统下都可以运行,64位系统兼容32位程序,可以理解.2.无论是Linux还是Windows平台下的JDK编译的java class在Li ...
- MVC 感触
这几天接触了下 ef+ MVC+WEBAPI +bootstrop VIEW--->Controller -->WebAPI ---Model (Linq) 记住 VIEW里的 csh ...
- 在MacOs上安装sqlsrv Mojave - 找不到'php.h'文件
Mojave没有安装标头. 要安装标头: open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_1 ...
- Python递归和迭代
递归 在函数内部,调用函数自身的编程技巧称为递归( recursion).递归函数结构清晰,很直观的理解计算过程,但也有严重缺点:相对于普通循环而言,递归运行效率较低,经过很多冗余的计算,递归会消耗大 ...
- Android Studio无法预览xml布局之解决方法(两种)
学习安卓程序开发,用的Android Studio,发现怎么更改xml代码都没有想要的效果.如图 代码如下: <?xml version="1.0" encoding=&qu ...
- Sereja and Brackets(括号匹配)
Description Sereja has a bracket sequence s1, s2, ..., sn, or, in other words, a string s of length ...