Qt GUI使用按钮打开一个文件

Qt GUI open a file using push button

本文关键字:一个 文件 GUI 按钮 Qt      更新时间:2023-10-16

我需要创建带有行编辑的qtgui按钮,在那里我按下按钮,浏览文件夹以找到我想要导入的文本文件。随后将解析文本文件。我更喜欢使用combobox,但我不知道如何通过gui浏览文件夹。也许类似QDir相关的东西应该起作用,但请帮忙。

基本上,我想使用按钮/组合框导入/打开一个文本文件。

您要查找的是QFileDialog

QPushButtonclicked()信号连接到执行的插槽

QString fileName = QFileDialog::getOpenFileName(this,
    tr("Open Text file"), "", tr("Text Files (*.txt)"));

然后可以使用例如QFileQTextStream:解析文件

QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
       return;
QTextStream in(&file);
while (!in.atEnd())
{
    QString line = in.readLine();
    process_line(line);
}

编辑

如果你想解析一个文件,其中每行包含31个浮动,你想存储在float data[31]中,我会首先创建类:

struct FloatLine { float data[31]; };

然后将所有行存储在QList<FloatLine>中,方法如下:

QList<FloatLine> floatLines;
QTextStream in(&file);
while (!in.atEnd())
{
    QString line = in.readLine();
    QTextStream lineStream(&line);
    floatLines << FloatLine();
    for(int i=0; i<31; i++)
            lineStream >> floatLines.last().data[i];
}

您可能想要使用QFileDialog,QtDocument中几乎没有示例。

相关文章: