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”);