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 格式化输出