1

我有这个文本文件:

Name 1      Email 1
Name 2      Email 2
Name 3      Email 3
Name 4      Email 4
Name 5      Email 5

这是带有电子邮件的员工列表。我想在一个对话窗口中列出一个列表,并在其中显示他们的名字。我认为这是在对话窗口上打印出文本文件的好方法,但它不起作用。

employees_dialog.cpp

#include "employees_dialog.h"
#include "ui_employees_dialog.h"
#include <QtCore/QFile>
#include <QtCore/QTextStream>


employees_dialog::employees_dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::employees_dialog)
{
    ui->setupUi(this);
    getTextFile();
}

employees_dialog::~employees_dialog()
{
    delete ui;
}

void employees_dialog::getTextFile()
{
    QFile myFile(":/employees.txt");
    myFile.open(QIODevice::ReadOnly);
    QTextStream textStream(&myFile);
    QString line = textStream.readAll();
    myFile.close();
    ui->textEdit->setPlainText(line);
}

这是头文件。

#ifndef EMPLOYEES_DIALOG_H
#define EMPLOYEES_DIALOG_H

#include <QDialog>

namespace Ui {
    class employees_dialog;
}

class employees_dialog : public QDialog
{
    Q_OBJECT

public:
    explicit employees_dialog(QWidget *parent = 0);
    ~employees_dialog();

private slots:

private:
    Ui::employees_dialog *ui;
    void getTextFile();
};

#endif // EMPLOYEES_DIALOG_H

所以textEdit在 UI 中应该显示文本文件。但它只是空白的白色。我在 Qt 资源文件中有该文件。调试器没有给出任何错误,应用程序本身工作正常,但文本不会出现在textEdit.

顺便说一句,我是 Qt 的新手。

4

1 回答 1

0

用这个:

QFile file( "myfile.txt" );

if ( !file.exists() )
{
    qDebug()<<"doesn't exist the file";
}
于 2014-03-24T23:05:10.790 回答