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

特色网站模板廊坊网站制作套餐

特色网站模板,廊坊网站制作套餐,wordpress站点相关,合肥网站建设 八八四八Qt creator 6.80 MinGw 64bit 文本文件是指以纯文本格式存储的文件,如cpp和hpp文件。XML文件和JSON文件也是文本文件,只是使用了特定的标记符号定义文本的含义,读取这种文本文件需要先对内容解析再显示。 qt提供了两种读写文本文件的方法。…

Qt creator 6.80   MinGw 64bit

文本文件是指以纯文本格式存储的文件,如cpp和hpp文件。XML文件和JSON文件也是文本文件,只是使用了特定的标记符号定义文本的含义,读取这种文本文件需要先对内容解析再显示。

 qt提供了两种读写文本文件的方法。

一种是QFile,另一种是QTextStream。

下面介绍这两种方法的使用。

软件界面设计如下

软件运行界面

程序结构如下

main.cpp

#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

mainwindow.hpp和mainwindow.cpp代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_actOpenFile_triggered();void on_actQFileSave_triggered();void on_actQSaveFileSave_triggered();void on_actOpenStream_triggered();void on_actQTextStreamSave_triggered();private:QString getFileName(bool save=false);
private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
/***********************************************mainwindow.cpp****************************/
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDir>
#include<QFileDialog>
#include<QSaveFile>
#include<QException>
#include<QTextDocument>
#include<QTextBlock>
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);setCentralWidget(ui->tabWidget);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_actOpenFile_triggered()
{QString aFileName;aFileName=getFileName(false);QFile aFile(aFileName);if(!aFile.exists())  return ;if(!aFile.open(QIODevice::ReadOnly|QIODevice::Text))return ;QByteArray allLines=aFile.readAll();QString text(allLines);ui->textEditDevice->setPlainText(text);aFile.close();ui->tabWidget->setCurrentIndex(0);
}QString MainWindow::getFileName(bool save)
{QString curPath=QDir::currentPath();QString dlgTitle="打开一个文件";QString filter="程序文件(*.cpp *.h);;文本文件(*.txt);;所有文件(*.*)";QString aFileName;if(save)aFileName=QFileDialog::getSaveFileName(this,dlgTitle,curPath,filter);elseaFileName=QFileDialog::getOpenFileName(this,dlgTitle,curPath,filter);if(aFileName.isEmpty()) return aFileName;QFileInfo fileInfo(aFileName);QDir::setCurrent(fileInfo.absoluteFilePath());return aFileName;
}
void MainWindow::on_actQFileSave_triggered()
{QString aFileName=getFileName(true);if(aFileName.isEmpty()) return;QFile aFile(aFileName);if(!aFile.open(QIODevice::WriteOnly|QIODevice::Text)){return ;}QString str=ui->textEditDevice->toPlainText();QByteArray strBytes=str.toUtf8();aFile.write(strBytes,strBytes.length());aFile.close();ui->tabWidget->setCurrentWidget(0);
}
void MainWindow::on_actQSaveFileSave_triggered()
{QString aFileName=getFileName(true);QSaveFile aFile(aFileName);if(!aFile.open(QIODevice::WriteOnly|QIODevice::Text)){return ;}aFile.setDirectWriteFallback(false);//使用临时文件try{QString str=ui->textEditDevice->toPlainText();QByteArray strBytes=str.toUtf8();aFile.write(strBytes,strBytes.length());aFile.commit();ui->tabWidget->setCurrentIndex(0);}catch (QException &e){qDebug("保存文件过程发生错误");aFile.cancelWriting();}
}
void MainWindow::on_actOpenStream_triggered()
{QString aFileName=getFileName(false);QFile aFile(aFileName);if(!aFile.exists()) return ;if(!aFile.open(QIODevice::ReadOnly|QIODevice::Text))return ;QTextStream aStream(&aFile);aStream.setAutoDetectUnicode(true);QString str=aStream.readAll();ui->textEditStream->appendPlainText(str);aFile.close();
}
void MainWindow::on_actQTextStreamSave_triggered()
{QString aFileName=getFileName(true);QSaveFile aFile(aFileName);if(!aFile.open(QIODevice::WriteOnly|QIODevice::Text))return ;aFile.setDirectWriteFallback(false);try{QTextStream aStream(&aFile);aStream.setAutoDetectUnicode(true);   //写入临时文件QTextDocument *doc=ui->textEditStream->document();int cnt=ui->textEditStream->blockCount();for(int i=0;i<cnt;i++){QTextBlock textLine=doc->findBlockByLineNumber(i);QString str=textLine.text();aStream<<str<<"\n";}aFile.commit();}catch(QException &e){qDebug("保存文件过程发生错误");aFile.cancelWriting();}
}

http://www.yayakq.cn/news/897081/

相关文章:

  • 南京市溧水区建设局网站中国建设银行个人网上银行官方网站
  • 什么视频直播网站做挣钱做外贸一般做什么
  • 电子商务网站建设实践报告吴江设计网站公司
  • 正规品牌网站设计推荐网站内链优化
  • 新建茶叶网站文章内容建设河东网站建设公司
  • 俄语网站里做外贸shop网页直接玩的传奇
  • 建大型网站要多少钱网站的js效果
  • 注册商标设计seo站长网
  • 重庆企业网站推广代理郑州网站建设招商
  • 网站建设方案书范本什么是网站关键词
  • 动图从哪个网站做胶州网站建设电话
  • 做前端项目怎么进行网站切图普兰店网站建设
  • 做网站是干啥的百度软件中心
  • 杭州网站免费制作镇江网站制作费用
  • 网线的制作步骤南昌seo网络
  • 请人做ppt的网站白云外贸型网站建设
  • wordpress直播网站主题新公司注册详细流程
  • 上海网站络公司Wordpress主页不要全部显示
  • 六安门户网站建设哪家好网站创建公司
  • 青岛网站建设哪家静态商城网页模板
  • 广州建外贸网站网站建设歺金手指排名15
  • 企业网站html模板wordpress防盗图
  • 西安做网站wordpress 标题简码
  • 网站怎么设置qqwordpress登录wp-admin
  • 回收手表网站中国建设工程造价管理网站
  • 怎么做支付网站手机网站关闭窗口代码
  • 建立一个企业网站需要多少钱网站和系统的区别
  • 谈谈你在建设主题资源网站时邯郸市做网站建设
  • 怎么做网站树洞个人网站建设费用
  • 和平东路网站建设app软件定制开发平台