QT QFileDialog文件选择对话框

QT QFileDialog文件选择对话框

选择txt或者cpp文件,读取内容并显示

参考:

QT写入文件与读取文件内容_qt往一个文件写东西-CSDN博客

复制代码
#include "QtFilePreview.h"
#include "qfiledialog.h"
#include "qfile.h"
#include "qtextstream.h"
#include "qfileinfo.h"

QtFilePreview::QtFilePreview(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    ui.textEdit_preview->setReadOnly(true);
    ui.label_preview->setScaledContents(true);
    connect(ui.pushButton_open, &QPushButton::clicked, this, [=] {
        QString fileName = QFileDialog::getOpenFileName(this,tr("Open File"),"",tr("All Files(*.*)"));
        if (!fileName.isEmpty())
        {
            QFile file(fileName);
            if (file.open(QIODevice::ReadOnly | QIODevice::Text))
            {
                QTextStream in(&file);
                ui.textEdit_preview->setText(in.readAll());
                file.close();

                QFileInfo fileInfo(fileName);
                QPixmap pixmap(fileInfo.absolutePath());
                ui.label_preview->setPixmap(pixmap.scaled(ui.label_preview->size(),Qt::KeepAspectRatio,Qt::SmoothTransformation ));


            }
        }

        });
}

QtFilePreview::~QtFilePreview()
{}
相关推荐
超级架构师1 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core
叼烟扛炮1 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
LMT流氓兔2 小时前
第五单元——第十六课:给书店助手加上网页界面
java·开发语言·jvm·人工智能·oracle·langchain·1024程序员节
专注仿真2 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
外收内放3 小时前
Python基础语法练习题(75)
开发语言·python·学习
sycmancia3 小时前
Qml——Image和AnimatedImage使用
qt
starzy19903 小时前
Scala循环与判断:一切皆表达式的控制流
开发语言·人工智能·scala
starzy19904 小时前
Scala类和对象:从构造器到样例类的完整指南
开发语言·后端·scala
niucloud-admin4 小时前
NIUCLOUD PHP SAAS上门家政使用文档--服务订单:订单列表
开发语言·php
怪我冷i4 小时前
Rust 的impl语法详解
开发语言·后端·rust