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

重庆做网站优化怎么建设免费小说网站

重庆做网站优化,怎么建设免费小说网站,有什么免费建站网站,wordpress 出错一、项目要求 使用线程完善文件拷贝器的操作 主窗口不能假死主窗口进度条必须能动改写文件大小的单位#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.hkea.cn/news/14357062/

相关文章:

  • 做网站怎么修改网址励志网站源码
  • 化妆品网站建设计划书广州网站设计十年乐云seo
  • 彩妆网站建设报告上海网站建设报价表
  • 阅读网站怎么做佛山哪里有网站开发
  • 跳转网站怎么做的定制网站制作哪家好
  • 如何建设网站网站天津市建设工程信息网官网首页
  • 娱乐网站设计多少行业wordpress适合外贸站
  • 商丘网站制作的流程凡科互动永久解封
  • 网站建设和网站推广可以同一家做吗网站建设进度说明
  • 和平东路网站建设太原建设网站制作
  • 建设通类型网站叫啥如何做商业网站分析
  • 如何在门户网站做搜索引擎wordpress浏览量插件
  • 做网站直接开二级域名网站建设怎么招聘
  • 东莞+网站+建设+汽车c 做网站优点
  • 信息服务类网站建设方案钟楼做网站
  • 沈阳中联做网站wordpress rss 作用
  • 现在流行用什么语言做网站网站建设的频道是什么意思
  • 佛山建站珠海做网站专业公司
  • 西安建立公司网站的步骤网站排名云优化工具
  • 网站怎么进入后台管理珠海网站建设
  • 做本地婚恋网站vs网站建设弹出窗口代码c
  • 网站维护的方式包括有哪些做搞笑视频的网站
  • 如何建购物网站怎么做像天猫类似的网站
  • 个人如何建网站京东商城网站的搜索引擎营销做的案例分析
  • 网站启动画面特价网站建设公司
  • 嘉兴 网站 建设做网站标签栏的图片大小
  • 企业网站建设选题依据wordpress 即时
  • 网站登录和权限怎么做国际购物平台
  • 学计算机的做网站的叫什么工作网页设计师培训机构费用价格多少
  • 太原响应式网站建设造价材料价格信息网