- 创建一个QPushButton对象,设置按钮文本为“加载文件”。
- 创建一个槽函数,用于处理按钮点击事件。在该函数中,通过QFileDialog::getOpenFileName()方法弹出文件对话框,让用户选择要加载的文件。
- 判断用户是否选择了文件,并且文件格式是否符合要求。如果符合要求,则使用QFile类读取该文件内容并进行相应处理。
- 将读取到的数据展示在界面上。
以下是实现代码:
#include <QtWidgets/QApplication>
#include <QtWidgets/QPushButton>
#include <QtCore/QStringList>
#include <QtCore/QFile>
#include <QtWidgets/QFileDialog>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建按钮
QPushButton button("加载文件");
button.show();
// 处理按钮点击事件的槽函数
QObject::connect(&button, &QPushButton::clicked, [&]() {
// 弹出文件对话框
QString filename = QFileDialog::getOpenFileName(nullptr,
"打开文件", ".", "文本文件(*.txt);;所有文件(*)");
if (!filename.isEmpty()) { // 用户选择了文件
QStringList parts = filename.split(".");
QString suffix = parts.back(); // 获取后缀名
if (suffix == "txt") { // 文件格式符合要求
QFile file(filename);
if (file.open(QIODevice::ReadOnly | QIODevice::Text)) {
QTextStream stream(&file);
QString content = stream.readAll(); // 读取全部内容
// TODO: 处理读取到的数据并展示在界面上
file.close();
}
}
}
});
return app.exec();
}