自定义控件的封装
1.创建QT 设计师界面类
2.拖拽Widget 右键——提升为——类名写入——全局包含——添加——提升
3.QSpinBox移动 Slider跟着移动
鼠标事件
1.鼠标进入 enterEvent
2.鼠标离开 leaveEvent
3.鼠标按下,释放,移动
1>通过ev获取到 x y
2>ev判断鼠标左右健
3>QString格式化字符串 %1 %2 arg(ev->x())
定时器使用
1.timerEvent事件
2.启动定时器 startTimer(毫秒) 返回值是id号
3.区分定时器 timerId
定时器的第二种方式(推荐)
1.头文件 QTimer
2.创建 QTimer * timer
3.启动定时器 timer->start(毫秒)
4.发送信号 timeout
event事件
1.主要功能 事件的分发
2.bool event(QEvent * e)
3.返回值如果是true代表用户自己处理
4.false系统处理 最好抛给父类去处理
5.static casr<转换类型>(原对象)
6.e->type() 具体的事件
事件过滤器
1.哪个控件需求过滤事件 就给哪个控件安装过滤器
2.步骤1
安装过滤器
ui->label->installEventFilter(this)
3.步骤2
重写事件
QPainter
1.绘图 事件 paintEvent
2.Qpainter painter (绘图设备 this)
3.draw 线 圆 文字 矩形
4.QPen 设置 笔 宽度,样式 让画家用
5.QBrush 设置画刷 样式 让画家用
高级设置
painter.setRenderHint(QPainter::Antialiasing);
画家移动
painter.translate(QPoint(100, 0));
状态操作
//保存状态
//painter.save();
//取出状态
//painter.restore();
手动调用绘图事件
1.update
2.画家可以添加图片
3.drawPoxmap(x, y, QPixmap)
绘图设备
1.QPixmap,QBitMap(黑白色),Qimage,QPictrue,QWidget
2.QPixmap
创建对象 QPixmap pxi(w, h)
fill 填充色
save
3.Qimage img(w, h, format) 设置像素 setPixel
4.QPicture 重现记录 后缀指令
文件操作
头文件:<QFileDialog>
1.QFile file (路径)
2.file.open 打开方式 QIODevice:: ReadOnly
3.file.readAll readLine(file.atEnd() 判断是否读到文件末尾)
4.写 QIODevice WriteOnly
5.file.write("")
文件信息
1.QFileInfo info
2.info 读取到文件 信息
3.路径 名称 后缀名 大小
4.创建日期,修改日期 QDateTime
QFileStream
文本流
1.QFile file(path)
2.QTextStream(&file)
3.stream << 写
4.stream.readAll >> 空格结束
数据流
1.QDataStream stream (&file)
2.stream << 写数据