2013-09-01 57 views
1

我做了一个按钮,它将浏览并获取文本文件。但我需要在新窗口中打开它来检查文本文件的内容是否正确。我该怎么做呢?QtCreator GUI打开文本文件

此外,我想在按钮旁边有一个行编辑,显示我正在查看的文件。换句话说,通过按钮打开的文件的目录。

目前,这是我有:

void MainWindow::on_fileButton_clicked() 
{ 
    QString fileName1 = QFileDialog::getOpenFileName(this,tr("Open Text File"), "", tr("Text Files (*.txt)")); 
    QFile file1(fileName1); 
    if(!file1.open(QIODevice::ReadOnly | QIODevice::Text)) 
     return; 

    QTextStream in(&file1); 
    while(!in.atEnd()){ 
     QString line = in.readLine(); 
    } 
} 

回答

1

我建议利用现有的强大的文本界面之一:

void MainWindow::openfile() { 
    QString fileName1 = QFileDialog::getOpenFileName(this,tr("Open Text File"), "", tr("Text Files (*.txt)")); 
    QFile file1(fileName1); 
    if(!file1.open(QIODevice::ReadOnly | QIODevice::Text)) 
     return; 

    // show the directory path of opened file 
    dir->setText(QFileInfo(file1).dir().path()); 

    QTextBrowser *b = new QTextBrowser; 
    b->setText(file1.readAll()); 
    b->show(); 
} 

dir是一个成员变量,在构造函数

dir = new QLineEdit(this); 
+0

嘿..上面的代码给错误的错误:'dir'没有在这个范围内声明,如何解决它 – lkkkk

+0

@Latik:也许在MainWindow.h中声明'QLineEdit * dir;'并在构造函数MainWindow中分配它( ...){dir = new QLineEdit(this); }' – CapelliC

0

你应该通过添加一个对话框或主窗口的新窗口。之后,添加像textEdit和其他东西的小工具到你的新对话框。

你需要学习一些Qt框架的基础知识: 有很好的Qt文档,你可以使用它。 也有约100 short videos of Qt learning

+0

意味着我们不能打开文本文件初始化,但我们可以加载将txt文件的内容添加到textEdit中。 – lkkkk