我有这个文本文件:
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
因此UI中的textEdit
应该显示文本文件。但它只是空白。我在Qt Resources File中有该文件。调试器没有给出任何错误,应用程序本身工作正常,但文本不会出现在textEdit
中。
顺便说一下,我是Qt的新手。
用这个:
QFile file( "myfile.txt" );
if ( !file.exists() )
{
qDebug()<<"doesn't exist the file";
}