Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Mikiso от Апрель 19, 2013, 15:53



Название: Qt Вывод txt файла
Отправлено: Mikiso от Апрель 19, 2013, 15:53
Приветствую. Недавно начал разбираться с Qt. Вывожу текстовый файл в textBrowser, указывая путь "с:/1.txt".
Собственно сам вопрос, как сделать так, чтобы выводился файл, находящийся в папке с самой программой. Пробовал написать "/1.txt", но увы ничего не получается.


Название: Re: Qt Вывод txt файла
Отправлено: Alex Custov от Апрель 19, 2013, 16:02
прежде чем писать на Qt советую начать с подробного изучения C++ и основ программирования в windows. Ответ - "1.txt".


Название: Re: Qt Вывод txt файла
Отправлено: Bepec от Апрель 19, 2013, 17:23
Рабочая папка программы - "."

Т.е. строка должна выглядеть так "./1.txt" или так, как написал Alex. 



Название: Re: Qt Вывод txt файла
Отправлено: ViTech от Апрель 19, 2013, 17:35
И еще не всегда
Код:
папка с самой программой == рабочая папка программы
т.е. исполняемый файл программы может находиться в одной папке, а рабочая папка совсем в другом месте. Файл без пути будет браться из рабочей папки.


Название: Re: Qt Вывод txt файла
Отправлено: Mikiso от Апрель 19, 2013, 17:44
Это я тоже пробовал, эффект тот же. Что-то я наверное забыл добавить.
mainwindow.cpp
Код:
void MainWindow::on_btn_main_1_clicked()
{
    mTheory = new Theory("1.txt",ui->centralWidget);
    mTheory->show();
}
theory.cpp
Код:
void Theory::Openfile(QString name)
{
    QFile file(name);
    if (file.open(QIODevice::ReadOnly))
    {
        QString html(QString::fromLocal8Bit(file.readAll()));
        ui->textBrowser->setHtml(html);
    }
    else
    {
        QString alarm(QString::fromLocal8Bit("wtf, alarm!"));
        ui->textBrowser->setText(alarm);
    }
}


Название: Re: Qt Вывод txt файла
Отправлено: Mikiso от Апрель 19, 2013, 19:15
Проблема решена.
Решением оказался такой формат ввода:    Read(":/MyFiles/test-file.pro");


Название: Re: Qt Вывод txt файла
Отправлено: Bepec от Апрель 19, 2013, 19:39
ОМФГ. Нет слов.


Название: Re: Qt Вывод txt файла
Отправлено: Alex Custov от Апрель 19, 2013, 19:52
Проблема решена.
Решением оказался такой формат ввода:    Read(":/MyFiles/test-file.pro");

wtf  ???


Название: Re: Qt Вывод txt файла
Отправлено: gil9red от Апрель 21, 2013, 14:40
Проблема решена.
Решением оказался такой формат ввода:    Read(":/MyFiles/test-file.pro");
Похоже автор хранил тот файл в ресурсах :)

А вообще, можно использовать связку QApplication и QDir для нахождения пути к нужному файлу, если не собираетесь хранить файл в ехе и файл находится в папке с ехе или на нескольких уровнях ниже или выше папки с ехе

Например, используем вот это:
QApplication::applicationDirPath() - получаем путь к папке с ехе
QDir::cdUp() - переходим на уровень вверх