一、文件浏览选择文件
增加代码后可以实现如下,读取文件内容,如下:
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();
温故知新,备忘一下。