QT文件的浏览选择

一、文件浏览选择文件
在这里插入图片描述

在这里插入图片描述
增加代码后可以实现如下,读取文件内容,如下:
在这里插入图片描述

mainwindow.h头文件

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QLineEdit>
#include <QMainWindow>
#include <QPushButton>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QLineEdit *filename;
    QPushButton *button;
private slots:
    void  showFiles();
};
#endif // MAINWINDOW_H

二、mainwindow.cpp主文件

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    filename = new QLineEdit(this);
    filename->setGeometry(QRect(50,50,230,25));
    button = new QPushButton(this);
    button->setGeometry(QRect(280,50,80,25));
    button->setText("文件浏览");
    connect(button,SIGNAL(clicked()),this,SLOT(showFiles()));
}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::showFiles()
{
    QString str = QFileDialog::getOpenFileName(this,"open file()","/","text file(*.txt);;C file();;All file(*.*)");
    filename->setText(str.toUtf8());
}

头文件里增加如下代码:

    QTextEdit *textEdit;
    QByteArray *byteArr;

主程序里增加如下代码,读取文件里的字符

QFile *f = new QFile(str);
    f->open(QIODevice::ReadOnly);
    //byteArr =
    //QByteArray s =  f->readLine();
    QByteArray s =  f->readAll();
    //QString string = QString(s);
    //textEdit->append(string);
    if(!s.isEmpty())
    {
        textEdit->clear();
        textEdit->insertPlainText(s);
    }
    s.clear();

温故知新,备忘一下。

Guess you like

Origin blog.csdn.net/m0_49047167/article/details/109747481