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()
{}
相关推荐
宇木灵6 小时前
C语言基础学习-二、运算符
c语言·开发语言·学习
yangSimaticTech6 小时前
沿触发的4个问题
开发语言·制造
舟舟亢亢6 小时前
算法总结——二叉树【hot100】(上)
java·开发语言·算法
百锦再7 小时前
Java中的char、String、StringBuilder与StringBuffer 深度详解
java·开发语言·python·struts·kafka·tomcat·maven
普通网友8 小时前
多协议网络库设计
开发语言·c++·算法
努力努力再努力wz8 小时前
【Linux网络系列】:TCP 的秩序与策略:揭秘传输层如何从不可靠的网络中构建绝对可靠的通信信道
java·linux·开发语言·数据结构·c++·python·算法
daxi1508 小时前
C语言从入门到进阶——第9讲:函数递归
c语言·开发语言·c++·算法·蓝桥杯
勇气要爆发9 小时前
LangGraph 实战:10分钟打造带“人工审批”的智能体流水线 (Python + LangChain)
开发语言·python·langchain
yy.y--9 小时前
Java数组逆序读写文件实战
java·开发语言
Polaris北9 小时前
第二十七天打卡
开发语言·c++·算法