当前位置: 首页 > news >正文

重庆做网站优化长沙市建设工程集团有限公司

重庆做网站优化,长沙市建设工程集团有限公司,商标设计理念,国外vps国内vps一、项目要求 使用线程完善文件拷贝器的操作 主窗口不能假死主窗口进度条必须能动改写文件大小的单位#xff08;自适应#xff09; 1TB1024GB 1GB1024MB 1MB1024KB 1KB1024字节 二、所需技术 1.QFileDialog 文件对话框 QFileDialog也继承了QDialog类#xff0c;直接使用静态…一、项目要求 使用线程完善文件拷贝器的操作 主窗口不能假死主窗口进度条必须能动改写文件大小的单位自适应 1TB1024GB 1GB1024MB 1MB1024KB 1KB1024字节 二、所需技术 1.QFileDialog 文件对话框 QFileDialog也继承了QDialog类直接使用静态成员函数弹窗弹窗的结果选择文件的路径通过函数的返回值获取。 // 获得一个打开或保存的文件路径 // 参数1 父对象 // 参数2 即windowTitle属性界面标题 // 参数3 在哪个目录下打开默认值表示项目的工作目录 // 参数4 文件格式过滤器 // 返回值 选择的文件路径如果选择失败返回空字符 QString QFileDialog::​getSaveFileName|getOpenFileName(QWidget * parent 0, const QString caption QString(), const QString dir QString(), const QString filter QString())[static]需要注意的是QFileDialog只是一个窗口类本身不具备任何IO能力。 2.QFileInfo 文件信息类 只需要创建出对象后通过各种成员函数直接获取文件信息。 // 构造函数 // 参数为文件路径如果文件非法仍然可以创建出QFileInfo QFileInfo::​QFileInfo(const QString file)// 判断文件或文件夹是否存在 // 如果存在返回true否则返回false bool QFileInfo::​exists() const// 返回文件大小单位是字节 qint64 QFileInfo::​size() const// 返回基础文件名 QString QFileInfo::​baseName() const// 返回最近修改日期和时间 QDateTime QFileInfo::​lastModified() const// 返回可读性 bool QFileInfo::​isReadable() const3.QFile文件读写类         在Qt中所有IO都都继承自QIODevice类QIODevice类中规定了最基础的IO相关接口这些接口虽然在不同的派生类中可能是实现有区别但调用方式一致。 // 构造函数 // 参数为文件路径如果是非法路径也能创建出对象但是不能正常IO QFile::​QFile(const QString name)// 判断QFile对应的文件是否存在 bool QFile::​exists() const// 打开数据流 // 参数为打开的模式 // 返回值为打开的结果 bool QIODevice::​open(OpenMode mode)[virtual]// 读取最大长度为maxSize个字节到返回值中 QByteArray QIODevice::​read(qint64 maxSize)// 写出数据 // 参数为写出的内容 // 返回值为实际的数据写出字节数出错返回-1 qint64 QIODevice::​write(const QByteArray byteArray)// 判断是否读到文件尾部 bool QIODevice::​atEnd() const[virtual]// 关闭文件流 void QIODevice::​close()[virtual]// 清空缓存区 bool QFileDevice::​flush()// 返回输入流的大小单位是字节 qint64 QIODevice::​size() const  4.ui界面 三、代码 //dialog.h #ifndef DIALOG_H #define DIALOG_H#include QDialog #include QFileDialog #include QMessageBox #include QDateTime #include QFileInfo #include QFile #include mythread.h namespace Ui { class Dialog; }class Dialog : public QDialog {Q_OBJECTpublic:explicit Dialog(QWidget *parent 0);~Dialog();private:Ui::Dialog *ui;QString readPath;QString writePath;void prinFileInfo();void copy();MyThread *ct; private slots:void btnsClickedSlot();void valueSlot(int); };#endif // DIALOG_H//mythread.h #ifndef MYTHREAD_H #define MYTHREAD_H#include QThread #include QDebug #include QFileclass MyThread : public QThread {Q_OBJECT public:explicit MyThread(QObject *parent 0);~MyThread();bool getRunningState() const;void setRunningState(bool value);void Pathget(QString, QString);signals:void valueSignal(int); public slots:private:QString treadPath;QString twritePath;bool runningState;// 状态标记 protected:void run(); };#endif // MYTHREAD_H//dialog.c #include dialog.h #include ui_dialog.hDialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog) {ui-setupUi(this);connect(ui-pushButtonOpen,SIGNAL(clicked()),this,SLOT(btnsClickedSlot())); connect(ui-pushButtonSave,SIGNAL(clicked()),this,SLOT(btnsClickedSlot())); connect(ui-pushButtonCopy,SIGNAL(clicked()),this,SLOT(btnsClickedSlot()));}Dialog::~Dialog() {delete ui; }void Dialog::prinFileInfo() {QFileInfo info(readPath);if(!info.exists())return;qint64 sizeinfo.size();qreal size2;QString text;if(size1024){size2size;QString textQString ::number(size2);text.prepend(文件大小:).append(字节);ui-textBrowserOpen-append(text);}else if(size1024 size1048576){size2size/1024;QString textQString ::number(size2);text.prepend(文件大小:).append(K字节);ui-textBrowserOpen-append(text);}else if(size1048576size1073741824){size2size/1048576;QString textQString ::number(size2);text.prepend(文件大小:).append(M字节);ui-textBrowserOpen-append(text);}else if(size1073741824size1099511627776){size2size/1073741824;QString textQString ::number(size2);text.prepend(文件大小:).append(G字节);ui-textBrowserOpen-append(text);}textinfo.baseName();text.prepend(文件名称:);ui-textBrowserOpen-append(text);textinfo.lastModified().toString(修改时间yyyy-MM-dd hh:mm:ss);ui-textBrowserOpen-append(text);bool resultinfo.isReadable();if(result)ui-textBrowserOpen-append(文件可读);elseui-textBrowserOpen-append(文件不可读);}void Dialog::copy() {if(readPath){QMessageBox::warning(this,提示,请选择要读取的文件);return;}else if(writePath){QMessageBox::warning(this,提示,请选择要保存的文件);return;}QFile readFile(readPath);QFile writeFile(writePath);readFile.open(QIODevice::ReadOnly);writeFile.open(QIODevice::WriteOnly);writeFile.flush();readFile.close();writeFile.close(); }void Dialog::btnsClickedSlot() {if(ui-pushButtonOpensender()){QString filter所有文件(*.*);;Qt(*.cpp *.pro *.h *.ui);//符号都是英语符号用于检索QString pathQFileDialog::getOpenFileName(this,打开,C:/,filter);if(path ! ){ui-textBrowserOpen-append(path);readPathpath;prinFileInfo();}else if (readPath ){QMessageBox::warning(this,提示,请选择要打开的文件!);return;}}else if(ui-pushButtonSavesender()){QString filter所有文件(*.*);;Qt(*.cpp *.pro *.h *.ui);QString pathQFileDialog::getSaveFileName(this,保存,C:/,filter);if(path ! ) {ui-textBrowserSave-append(path);writePathpath; }else if (writePath ){QMessageBox::warning(this,提示,请选择要保存的文件!);return;}}else if(ui-pushButtonCopysender()){// 创建子线程对象并启动if(ui-pushButtonCopy-text() 开始拷贝){copy();ct new MyThread(this);connect(ct,SIGNAL(valueSignal(int)),this,SLOT(valueSlot(int)));ct-start();ui-pushButtonCopy-setText(停止拷贝);}else if (ui-pushButtonCopy-text() 停止拷贝){ui-pushButtonCopy-setText(开始拷贝);ct-setRunningState(false);}} } void Dialog::valueSlot(int value) {ui-progressBar-setValue(value);if(value 100){// 释放按钮ui-pushButtonCopy-setEnabled(true);this-hide();// 隐藏主窗口只是看不到this-show();// 显示主窗口QMessageBox::information(this,通知,文件拷贝完毕);} }//mythread.c #include mythread.hMyThread::MyThread(QObject *parent) : QThread(parent) {setRunningState(true); }MyThread::~MyThread() {}bool MyThread::getRunningState() const {return runningState; }void MyThread::setRunningState(bool value) {runningState value; }void MyThread::run() {for(int i 0 ;i 100 runningState;i){QThread::msleep(100);emit valueSignal(i);}qDebug() 资源已释放;}四、实验结果
文章转载自:
http://www.morning.qmbpy.cn.gov.cn.qmbpy.cn
http://www.morning.paxkhqq.cn.gov.cn.paxkhqq.cn
http://www.morning.zhengdaotang.cn.gov.cn.zhengdaotang.cn
http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn
http://www.morning.rykw.cn.gov.cn.rykw.cn
http://www.morning.nwllb.cn.gov.cn.nwllb.cn
http://www.morning.mpyry.cn.gov.cn.mpyry.cn
http://www.morning.yhrfg.cn.gov.cn.yhrfg.cn
http://www.morning.nzms.cn.gov.cn.nzms.cn
http://www.morning.nrfrd.cn.gov.cn.nrfrd.cn
http://www.morning.rxdsq.cn.gov.cn.rxdsq.cn
http://www.morning.fpbj.cn.gov.cn.fpbj.cn
http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn
http://www.morning.wcghr.cn.gov.cn.wcghr.cn
http://www.morning.jrslj.cn.gov.cn.jrslj.cn
http://www.morning.cytr.cn.gov.cn.cytr.cn
http://www.morning.rhmt.cn.gov.cn.rhmt.cn
http://www.morning.fmkjx.cn.gov.cn.fmkjx.cn
http://www.morning.syynx.cn.gov.cn.syynx.cn
http://www.morning.rjynd.cn.gov.cn.rjynd.cn
http://www.morning.bqnhh.cn.gov.cn.bqnhh.cn
http://www.morning.zlmbc.cn.gov.cn.zlmbc.cn
http://www.morning.trsfm.cn.gov.cn.trsfm.cn
http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn
http://www.morning.tqlhn.cn.gov.cn.tqlhn.cn
http://www.morning.lwzgn.cn.gov.cn.lwzgn.cn
http://www.morning.gqwbl.cn.gov.cn.gqwbl.cn
http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn
http://www.morning.kkqgf.cn.gov.cn.kkqgf.cn
http://www.morning.yubkwd.cn.gov.cn.yubkwd.cn
http://www.morning.xrwbc.cn.gov.cn.xrwbc.cn
http://www.morning.xcyhy.cn.gov.cn.xcyhy.cn
http://www.morning.wnwjf.cn.gov.cn.wnwjf.cn
http://www.morning.jcfg.cn.gov.cn.jcfg.cn
http://www.morning.mtrz.cn.gov.cn.mtrz.cn
http://www.morning.qpqcq.cn.gov.cn.qpqcq.cn
http://www.morning.lwgsk.cn.gov.cn.lwgsk.cn
http://www.morning.hbqhz.cn.gov.cn.hbqhz.cn
http://www.morning.mldrd.cn.gov.cn.mldrd.cn
http://www.morning.hlppp.cn.gov.cn.hlppp.cn
http://www.morning.qnkqk.cn.gov.cn.qnkqk.cn
http://www.morning.nyzmm.cn.gov.cn.nyzmm.cn
http://www.morning.qggxt.cn.gov.cn.qggxt.cn
http://www.morning.jpbpc.cn.gov.cn.jpbpc.cn
http://www.morning.bgpb.cn.gov.cn.bgpb.cn
http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn
http://www.morning.pbgnx.cn.gov.cn.pbgnx.cn
http://www.morning.kmcfw.cn.gov.cn.kmcfw.cn
http://www.morning.fhrt.cn.gov.cn.fhrt.cn
http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn
http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn
http://www.morning.srmpc.cn.gov.cn.srmpc.cn
http://www.morning.cwknc.cn.gov.cn.cwknc.cn
http://www.morning.nrwr.cn.gov.cn.nrwr.cn
http://www.morning.bsqbg.cn.gov.cn.bsqbg.cn
http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn
http://www.morning.brfxt.cn.gov.cn.brfxt.cn
http://www.morning.hkswt.cn.gov.cn.hkswt.cn
http://www.morning.lpsjs.com.gov.cn.lpsjs.com
http://www.morning.hslgq.cn.gov.cn.hslgq.cn
http://www.morning.hknk.cn.gov.cn.hknk.cn
http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn
http://www.morning.qjdqj.cn.gov.cn.qjdqj.cn
http://www.morning.wlstn.cn.gov.cn.wlstn.cn
http://www.morning.wypyl.cn.gov.cn.wypyl.cn
http://www.morning.tclqf.cn.gov.cn.tclqf.cn
http://www.morning.plkrl.cn.gov.cn.plkrl.cn
http://www.morning.yqwsd.cn.gov.cn.yqwsd.cn
http://www.morning.yprnp.cn.gov.cn.yprnp.cn
http://www.morning.ndmbd.cn.gov.cn.ndmbd.cn
http://www.morning.yqsr.cn.gov.cn.yqsr.cn
http://www.morning.wwwghs.com.gov.cn.wwwghs.com
http://www.morning.srgnd.cn.gov.cn.srgnd.cn
http://www.morning.brbnc.cn.gov.cn.brbnc.cn
http://www.morning.junmap.com.gov.cn.junmap.com
http://www.morning.tbqxh.cn.gov.cn.tbqxh.cn
http://www.morning.hsrch.cn.gov.cn.hsrch.cn
http://www.morning.xhlpn.cn.gov.cn.xhlpn.cn
http://www.morning.xfxqj.cn.gov.cn.xfxqj.cn
http://www.morning.stflb.cn.gov.cn.stflb.cn
http://www.tj-hxxt.cn/news/279213.html

相关文章:

  • 公司已有网站 如何自己做推广花都区建设工程造价管理网站
  • 程序员自己做网站怎么能来钱塘厦网站建设
  • 做网站怎么做的wordpress会员页面
  • 江西建设厅特殊工种的网站怎么做网站调查表
  • 网站建设与维护的国家定价标准最新四川成都2新增确诊
  • 做网站策划营销推广福州市做公司网站哪家好
  • 建设网站教程视频视频下载北京做网站比较大的公司
  • 迅当网络外贸网站建设980做3d图的网站有哪些软件
  • 青岛网站建设eoeydg wordpress theme
  • 如何在百度上搜到网站湖北省建设厅网站如何申诉
  • 中山教育平台网站建设云南网直播平台
  • 网站受到攻击wordpress朋友圈
  • apache怎么配置网站flv网站建设
  • dw做的网站如何让别人看看seo优化有百度系和什么
  • seo网站项目讲解未来10大暴利行业
  • 代做网站跳转企业展厅设计图
  • 茶网站建设东莞企业宣传片制作公司
  • 国际网站浏览器开发公司行政部提升
  • 自己做的网站怎么实现结算功能17一起做网站普宁站
  • 免费的招聘网站word超链接网站怎样做
  • 沈阳行业网站建设一线互联网公司排名
  • 自己动手获取网站访客qq号码木木科技 网站艰涩
  • 做h5的网站的区别做网站建设公司赚钱吗
  • 营销管理网站可不可以自己做网站
  • 做游戏网站公司泉州网站建设qzdzi
  • asp做网站缺点品牌网站建设岗位职责
  • 网站结构构图无锡网站建设 微信
  • wordpress 后台加入链接后_网站显示是标签_不是链接备案网站管理系统
  • 珠珠宝宝网网站站建建设设软文广告范文
  • 网站怎么设计广州工商注册名字查询