Я изменил пример Text Finder, который я получил из Qt Tutorial, и сделал Text Viewer. В этой программе пользователь вводит адрес в файл и нажимает кнопку «Поиск». Затем программа отображает содержимое текстового файла. Ниже мой код. text_finder.cpp:Как получить имя файла в Qt?
#include "text_finder.h"
#include "ui_text_finder.h"
#include <QHBoxLayout>
#include <QFile>
#include <QTextStream>
#include <QFileDialog>
Text_Finder::Text_Finder(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Text_Finder)
{
ui->setupUi(this);
}
Text_Finder::~Text_Finder()
{
delete ui;
}
void Text_Finder::loadFile(QFile file){ // I have to pass the file name as parameter.
QFile inputFile(file);
inputFile.open(QIODevice::ReadOnly);
QTextStream in(&inputFile);
QString line = in.readAll();
inputFile.close();
ui->read->setText(line);
QTextCursor cursor = ui->read->textCursor();
cursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 1);
}
void Text_Finder::on_search_clicked()
{
// Code that gets the path from the text box.
loadFile();//Parameters not passed yet.
}
Я еще не ввел код, который получает имя файла из адреса в текстовом поле. Мне придется передать файл функции loadFile(), которая будет вводить содержимое в текстовое редактирование в центре программы. Я хочу, чтобы решение получило имя файла, из которого пользователь вводит. Например, пользователь может ввести «/home/user/input.txt». Программа должна получить содержимое этого файла и переслать его на loadFile(). Требуется решение с объяснением того, как работают различные части. Я использую Qt Creator на Ubuntu 15.04 (бета).
Как насчет 'QFileDialog :: getOpenFileName'? – LogicStuff
Как это использовать? –
Все это хорошо документировано. Просто Google. – LogicStuff