绘图设备:
QPixmap:针对屏幕进行优化了,和平台相关,不能对图片进行修改
QPixmap->QImage
QPixmap a;
a.toImage();
QImage:和平台无关,可以对图片进行修改,在线程中绘图
QImage->QPixmap
QImage b;
QPixmap::fromImage(b);
QPicture:保存绘图的状态(二进制文件)
文件读写:
void Widget::on_readButton_clicked()
{
QString path = QFileDialog::getOpenFileName(this,"open","../");
if(path.isEmpty() == false)
{
//文件对象
QFile file(path);
//打开文件,open 函数有个bool的返回值
bool isok = file.open(QIODevice::ReadOnly);
if(isok)
{
#if 0
QByteArray array = file.readAll();//只能读UTF-8的格式文件
ui->textEdit->setText(array);
#endif
QByteArray array;
while(file.atEnd() == false)
{
array+=file.readLine();
}
ui->textEdit->setText(array);
}
//关闭文件
file.close();
}
}
void Widget::on_writeButton_clicked()
{
QString path = QFileDialog::getSaveFileName(this,"save","../");
if(path.isEmpty() == false)
{
QFile file;//创建文件对象
//关联文件名字
file.setFileName(path);
//打开文件,只写方式
bool isok = file.open(QIODevice::WriteOnly);
if(isok == true)
{
//获得编辑区内容
QString str = ui->textEdit->toPlainText();
//QString->String->char *
//file.write(str.toStdString().data());
//file.write(str.toLocal8Bit());//转化为本地平台编码
//QString->QByteArray
QByteArray a= str.toUtf8();
//QByteArray->char*
file.write(a.data());
//char*->QString这样就行QString(char*)
}
}
}