Russian Qt Forum
Ноябрь 26, 2024, 02:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt Вывод txt файла  (Прочитано 5861 раз)
Mikiso
Гость
« : Апрель 19, 2013, 15:53 »

Приветствую. Недавно начал разбираться с Qt. Вывожу текстовый файл в textBrowser, указывая путь "с:/1.txt".
Собственно сам вопрос, как сделать так, чтобы выводился файл, находящийся в папке с самой программой. Пробовал написать "/1.txt", но увы ничего не получается.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Апрель 19, 2013, 16:02 »

прежде чем писать на Qt советую начать с подробного изучения C++ и основ программирования в windows. Ответ - "1.txt".
Записан
Bepec
Гость
« Ответ #2 : Апрель 19, 2013, 17:23 »

Рабочая папка программы - "."

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

Записан
ViTech
Гипер активный житель
*****
Offline Offline

Сообщений: 858



Просмотр профиля
« Ответ #3 : Апрель 19, 2013, 17:35 »

И еще не всегда
Код:
папка с самой программой == рабочая папка программы
т.е. исполняемый файл программы может находиться в одной папке, а рабочая папка совсем в другом месте. Файл без пути будет браться из рабочей папки.
Записан

Пока сам не сделаешь...
Mikiso
Гость
« Ответ #4 : Апрель 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);
    }
}
Записан
Mikiso
Гость
« Ответ #5 : Апрель 19, 2013, 19:15 »

Проблема решена.
Решением оказался такой формат ввода:    Read(":/MyFiles/test-file.pro");
Записан
Bepec
Гость
« Ответ #6 : Апрель 19, 2013, 19:39 »

ОМФГ. Нет слов.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Апрель 19, 2013, 19:52 »

Проблема решена.
Решением оказался такой формат ввода:    Read(":/MyFiles/test-file.pro");

wtf  Непонимающий
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #8 : Апрель 21, 2013, 14:40 »

Проблема решена.
Решением оказался такой формат ввода:    Read(":/MyFiles/test-file.pro");
Похоже автор хранил тот файл в ресурсах Улыбающийся

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

Например, используем вот это:
QApplication::applicationDirPath() - получаем путь к папке с ехе
QDir::cdUp() - переходим на уровень вверх
« Последнее редактирование: Апрель 21, 2013, 19:05 от gil9red » Записан

Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.