利用QT实现写文件,用进度条显示
2013-11-16 08:22
507 查看
初学QT,然后就想写点什么,就写了个QT读写文件操作,写文件的时候,用进度条显示写的进度。
我选的是widget,在界面上拖了两个pushbutton,一个textedit,一个pushbutton是读文件,一个是写文件,
读文件用的是QT的QTextStream
QFile f(QApplication::applicationDirPath()+"/test");
if(!f.open(QIODevice::ReadOnly))
return;
QTextStream stream(&f);
while(!stream.atEnd())
{
strcont += stream.readLine();
}
f.flush();
f.close();
写文件其实跟读文件差不多:
num = strcont.length();
QFile f(QApplication::applicationDirPath()+"/test");
if(!f.open(QIODevice::WriteOnly))
qDebug()<<"===================";
QTextStream stream(&f);
stream<<strcont;
f.close();
之所以定义一个num 是为了写文件的时候,用进度条显示用的,
初始化一个进度条,定义一个startProgress()方法,将它和写的按钮连接
connect(ui->WBtn,SIGNAL(clicked()),this,SLOT(startProgress()));
QT里面的信号和槽的确好用,能将一个click事件,连接宁外一个事件。
进度条有两种,我是用的QProgressDialog
startProgress方法实现 :
void Widget::startProgress()
{
QProgressDialog progressDlg(this);
QFont font("ZYSong18030",12);
progressDlg.setFont(font);
progressDlg.setWindowTitle("please wait!!!");
progressDlg.setLabelText(tr("正在赋值。。。。"));
progressDlg.setCancelButtonText(tr("取消"));
progressDlg.setRange(0,num);
for(int i=1;i<num;i++)
{
progressDlg.setValue(i);
if(progressDlg.wasCanceled())
return;
}
}
很简单 的,一看就能懂。
效果图:
我也是刚学QT,期望和大家一起进步,谢谢!!!
我选的是widget,在界面上拖了两个pushbutton,一个textedit,一个pushbutton是读文件,一个是写文件,
读文件用的是QT的QTextStream
QFile f(QApplication::applicationDirPath()+"/test");
if(!f.open(QIODevice::ReadOnly))
return;
QTextStream stream(&f);
while(!stream.atEnd())
{
strcont += stream.readLine();
}
f.flush();
f.close();
写文件其实跟读文件差不多:
num = strcont.length();
QFile f(QApplication::applicationDirPath()+"/test");
if(!f.open(QIODevice::WriteOnly))
qDebug()<<"===================";
QTextStream stream(&f);
stream<<strcont;
f.close();
之所以定义一个num 是为了写文件的时候,用进度条显示用的,
初始化一个进度条,定义一个startProgress()方法,将它和写的按钮连接
connect(ui->WBtn,SIGNAL(clicked()),this,SLOT(startProgress()));
QT里面的信号和槽的确好用,能将一个click事件,连接宁外一个事件。
进度条有两种,我是用的QProgressDialog
startProgress方法实现 :
void Widget::startProgress()
{
QProgressDialog progressDlg(this);
QFont font("ZYSong18030",12);
progressDlg.setFont(font);
progressDlg.setWindowTitle("please wait!!!");
progressDlg.setLabelText(tr("正在赋值。。。。"));
progressDlg.setCancelButtonText(tr("取消"));
progressDlg.setRange(0,num);
for(int i=1;i<num;i++)
{
progressDlg.setValue(i);
if(progressDlg.wasCanceled())
return;
}
}
很简单 的,一看就能懂。
效果图:
我也是刚学QT,期望和大家一起进步,谢谢!!!
相关文章推荐
- HTML5利用FormData对象实现显示进度条的文件上传【转】
- HTML5利用FormData对象实现显示进度条的文件上传【译】
- 【CLI】利用Curl下载文件实时进度条显示的实现
- 利用nginx实现文件上传和进度条功能
- java读取文件显示进度条的实现方法
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- Jquery和BigFileUpload实现大文件上传及进度条显示
- Qt 实现文件复制 界面有进度条(根据文件大小)显示复制进度,
- Qt实现读取显示obj文件——归一化坐标
- 利用AJAX技术实现网页无刷新进度条显示
- Springmvc+uploadify实现批量上传文件(显示进度条)
- 基于uploadify.js实现多文件上传和上传进度条的显示
- 利用jsp+Extjs实现动态显示文件上传进度
- Qt实现读取显示obj文件——计算面的单位法向量
- Qt5.8用HTTP实现文件上传和下载(带进度条)
- 利用AJAX技术实现网页无刷新进度条显示
- Qt实现读取显示obj文件——动态绑定纹理与消除纹理
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
- Ajax + Servlet 实现上传文件进度条显示
- Qt实现读取显示obj文件——创建并绑定纹理