此示例只是一个简单的文件的打开,读取,文件内容的加载,望共勉。

界面效果展示

代码实现

dialog.h

#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>namespace Ui {class Dialog;
}class Dialog : public QDialog
{Q_OBJECTpublic:explicit Dialog(QWidget *parent = nullptr);~Dialog();private slots:void on_pushButton_clicked();void on_lineEdit_textChanged(const QString &arg1);private:Ui::Dialog *ui;
};#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"
#include <QDebug>
#include <QFileDialog>
#include <QFile>Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog)
{ui->setupUi(this);
}Dialog::~Dialog()
{delete ui;
}void Dialog::on_pushButton_clicked()
{//    ui->lineEdit->clear();//先清空文件路径,起初的目的是防止多次使用选择文件路径时路径追加,后发现没有必要,每次路径都是重新覆盖上一次的路径QString strPath = QDir::currentPath();QString strFileFliter = tr("源文件(*.h *.cpp)");QString strFilePath = QFileDialog::getOpenFileName(this,tr("选择文件"),strPath,strFileFliter);if(strFilePath.isEmpty()){qDebug()<<tr("%1文件路径为空").arg(strFilePath)<<endl;return ;}ui->lineEdit->setText(strFilePath);
}void Dialog::on_lineEdit_textChanged(const QString &arg1)
{QFile file(arg1);if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){qDebug()<<tr("%1文件打开失败").arg(arg1)<<endl;return ;}QTextStream in(&file);QString strContent = in.readAll();ui->plainTextEdit->setPlainText(strContent);//appendPlainText(strContent)此函数会在原有文本的基础上追加,而setPlainText()则直接覆盖,显示当前文本file.close();
}

mian.cpp

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

运行效果


此实例比较简单,只用了两个槽函数来实现具体功能,特此记录,不积硅步,无以成江河。

Qt下简单的文件读取相关推荐

  1. Qt下Tcp传输文件

    Qt下Tcp传输文件 文章目录 Qt下Tcp传输文件 1.服务端 2.客户端 1.服务端 //ServerWidgets.h #ifndef SERVERWIDGET_H #define SERVER ...

  2. .net精简框架集下的ini文件读取(C#)

    无论是.net框架集还是.net精简框架集都能非常完美的支持XML文件,并且微软也强烈建议用xml文件取代ini文件,但是在工控领域大部分的工程都是采用ini文件配置的系统信息的. 以前的隧道管理系统 ...

  3. 用Ubuntu16.04的vi编辑器编辑qt下的默认文件(/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf)

    vi编辑器跟一般的文本编辑器不同,完全是终端编辑的,因此需要靠输入命令来修改vi的编辑属性. 这个网址是vi编辑器的快捷键和对应的功能:https://www.cnblogs.com/junw_chi ...

  4. c#下简单的文件读写

    using System; using System.IO; public class FileApp {  public static void Main()  {      // 在当前目录创建一 ...

  5. Qt下简单WebSocket网络聊天服务器

    参考:使用 HTML5 WebSocket 构建实时 Web 应用 参考中提供了WebSocket客户端及服务器端代码(C#),这里只是通过QT(4.8.5)/C++进行了重写并使用比较新的Webso ...

  6. 在 Java 中,如何批量读取本项目资源目录下的所有文件

    在 Java 中,如何批量读取本项目资源目录下的所有文件 读取资源目录下的指定文件 方法 1:使用 JDK 中原始 API 方法 2:借助 Spring 附录 将 InputStream 转化为 by ...

  7. Qt下的国际化方法—翻译文件(.ts .qm文件)的使用

    1.获取所需翻译的文本 在代码中需要翻译的文本的都需要用下面的方式使用 tr() 括起来. //创建菜单子项manageAction = new QAction(tr("vehicle ma ...

  8. Qt下翻译文件(.ts .qm文件)的使用

    1.获取所需翻译的文本 在代码中需要翻译的文本的都需要用下面的方式使用 tr() 括起来. //创建菜单子项manageAction = new QAction(tr("vehicle ma ...

  9. C++学习笔记(四)QT的简单使用 —参考阿发你好

    这里是一些QT的资料 目前需要做一个界面,想想也是迟早的事情. 我自己是跟着这个人的CSDN上做的. http://blog.csdn.net/liang19890820/article/detail ...

最新文章

  1. mkfs.ext4 /dev/sdb 与 mkfs.ext4 /dev/sdb1
  2. java多线程的同步
  3. FZU 2087 统计树边【MST相关】
  4. Bootstrap 学习笔记8 下拉菜单滚动监听
  5. fillrect不填充被覆盖的区域 mfc_quot;条带覆盖quot;猜想的中二证明:quot;球面条线覆盖或点覆盖quot;积分π...
  6. 七步从AngularJS菜鸟到专家(7):Routing
  7. 繁体字_如何简单快速地批量认识繁体字?
  8. 《HFSS电磁仿真设计从入门到精通》一2.3 T形波导的优化分析
  9. Ant Design引入Echarts
  10. linux翻转字符串
  11. 二叉树的简单应用--表达式树
  12. 《MonoIndoor:Towards Good Practice of Self-Supervised Monocular Depth Estimation...》论文笔记
  13. 华东师范计算机科学与技术考研难吗,华东师范大学计算机考研难不难
  14. Promethus(普罗米修斯)监控系统02概述
  15. ValueError: bad transparency mask
  16. 基于Python网易云音乐歌词爬取
  17. A Surface Defect Detection Method Based on Positive Samples
  18. Kafka代码实现--from-beginning,读取历史未消费的数据
  19. 给定一个N*N的矩阵matrix,只有0和1两种值,返回边框全是1的最大正方形的边长长度。
  20. Nginx安装和配置

热门文章

  1. 如何构建一个流量无损的在线应用架构 | 专题中篇
  2. 如何开发 Node.js Native Add-on?
  3. 全球首发|阿里云正式推出云数据库Redis6.0版本
  4. MySQL实战—更新过程
  5. 云服务器ECS使用限制概览,让你的上云少走一些坑
  6. 不记得 Git 命令? 懒人版 Git 值得拥有!
  7. Google 宣布推出隐私计算核心服务;Amazon Managed Grafana正式可用……
  8. 立即生效!帕特·基辛格卸任 VMware 所有职务
  9. 终于有人把超融合和边缘计算说清楚了
  10. 最新突破!科学家研发出世界首款精神控制手臂机器人;近日Kubernetes 1.15 正式发布;雷军公布小米手机产品线布局……...