QT基础学习笔记5

本文是QT基础学习笔记的一部分,重点介绍了QPainter的使用,包括绘图事件、画线、画圆、画矩形、画文字等基本操作。还涉及到QPen和QBrush的设置,以及抗锯齿、状态保存与还原等功能。同时,讲解了QPaintDevice、QPixmap、QImage、QBitmap、QPicture等图形对象的用法,特别是它们在文件读写和像素操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QPainter绘图
1.绘图事件,void paintEvent();
声明一个画家对象,QPainter painter(this); //this指绘图设备
画线:drawLine
画圆:drawEllipse
画矩形:drawRect
画文字:drawText
设置画笔:QPen,设置笔宽度、风格
设置画刷:QBrush ,设置画刷风格

void Widget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QPen pen(QColor(0,0,255));
    pen.setWidth(3);
    pen.setStyle(Qt::DotLine);
    painter.setPen(pen);
    QBrush brush(Qt::cyan);
    brush.setStyle(Qt::Dense7Pattern);
    painter.setBrush(brush);
    painter.drawLine(QPoint(0,0),QPoint(50,50));

}

QPainter高级设置
抗锯齿:效率低,painter.setRenderHint(QPainter::Antialiasing);
对画家进行移动,painter.translate(100,10);
保存状态 save
还原状态 restore
QPaintDevice绘图设备
QPixmap QImage QBitmap(黑白色) QPicture QWidget
QPixmap对不同平台做了显示的优化
QPixmap pix(300,300)
pix.fill(“填充颜色”);
利用画家在pix上画画,QPainter painter(&pix);
保存 pix.save(“路径”);
QImage 可以对像素进行访问
使用和QPixmap差不多,QImage img(300,300,QImage::Format_RGB32);
其余流程和QPixmap一样,可以对像素进行修改img.setPixel(i,j,value);
QPicture可以记录和重现绘图指令
QPicture pic
painter.begin(&pic);
保存 pic.save(“路径”);
重现 利用画家可以重现,painter.drawPicture(0,0,pic);
QFile对文件进行读写操作
QFile file(path 文件路径);
:file.open(打开方式) QIODevice::readOnly
全部读取:file.readAll(),按行读:file.readLine() atend()判断是否读到文件尾。
默认支持编码格式:utf-8
利用编码格式类,指定格式QTextCodec
QTextCodec *codec=QTextCodec::codecForName(const char *name);
ui->textEdit->setText(codec->toUnicode(array));
文件对象关闭 close
:file.open(QIODevice::writeOnly /Append);
file.write(内容);
file.close 关闭
QFileInfo读取文件信息
QFileInfo info(路径);
qDebug()<<“大小”<<info.size()<<“后缀名”<<info.suffix()<<“文件名称”<<info.fileName()<<"文件路径”<<info.filePath();
qDebug()<<“创建日期”<<info.created().toString(“yyy/MM/ddhh:mm:ss”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值