Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка QFSFileEngine, Ошибка QFSFileEngine на Windows 
V
    Опции темы
loneybibi
Дата 4.4.2011, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 28.5.2010
Где: Донецк (Украина)

Репутация: 3
Всего: 3



Здравствуйте!

Есть QTextBrowser в который загружаю html файл из папки docs в корне своей программы.
В linux все путем .. переношу на виндовс вылетает такая ошибка и файл не подгружается:

Код

QFSFileEngine::open: No file name specified
QTextBrowser: No document for C:/Projects/application_beta-build-desktop/release/docs/docs0.html


Создаю путь и открываю так: 

Код

void MainWindow::openHtml(QString htmlFile)
{
ui->textEdit->setSource(QUrl(QApplication::applicationDirPath()+"/docs/"+htmlFile));
}


Что то наверное надо в QFSFileEngine поменять ? 


--------------------
Red Hat Fedora 17
Qt 4.8.1 (x64), GCC 4.4.3,
G++ 4.4.3, QtCreator 2.4.1
PM MAIL ICQ   Вверх
bsa
Дата 6.4.2011, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 24
Всего: 196



loneybibi, может все дело в использовании коснтруктора QUrl вместо QUrl::fromLocalFile()?
PM   Вверх
loneybibi
Дата 7.4.2011, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель
**


Профиль
Группа: Участник
Сообщений: 257
Регистрация: 28.5.2010
Где: Донецк (Украина)

Репутация: 3
Всего: 3



Спасибо все верно. Дело было в этом не учел(забыл т.к. в Windows давно не пользовался) то что для linux ссылка на сайт или файл все равно сам преобразует, а windows нет(из за слешей скорее всего в обратную сторону). Моя ошибка не доглядел. smile

Кому интересно дело было в загрузке списка файла и взятия его для загрузки (писал некую программу для себя что бы шаблоны из html файлов загружать посредством списка comboBox) и по клику списка выводить его в текстовый браузер для печати. 

Может кому интересно будет покажу.

получаем список файлов в каталоге docs:
Код

QStringList docsframe::getFileList()
{
    QDir docsDir(QApplication::applicationDirPath()+"/docs/");
    docsDir.setFilter(QDir::Files|QDir::Hidden|QDir::NoSymLinks);
    docsDir.setSorting(QDir::Name);

    QStringList fileListNames;
    QFileInfoList fileList=docsDir.entryInfoList();
    for(int i=0;i<fileList.size();++i)
    {
        QFileInfo fileInfo=fileList.at(i);
        fileListNames.insert(i,fileInfo.fileName());
    }
    fileListMain=fileListNames;
    return(fileListNames);
}



Получаем тег TITLE из html файла:
Код

QString docsframe::getTitleTagFromHtml(QString htmlFile)
{
    QString htmlData;
    QTextBrowser Text;

    QString htmlRegExp="^.*<title[^<>]*>(.*)</title.*";
    
   //ошибка была тут (для виндовс) :)
    Text.setSource(QUrl::fromLocalFile(QApplication::applicationDirPath()+"/docs/"+htmlFile));
    htmlData=Text.toHtml();

    QString htmlCaption;
    QRegExp regExp(htmlRegExp,Qt::CaseInsensitive);
    int pos=regExp.indexIn(htmlData);
    if(pos>-1)
    {
        htmlCaption=regExp.cap(1);
    }
    QString htmlTitle=htmlCaption;
    return(htmlTitle);
}


получаем список в кобмо бокс:
Код

void docsframe::setListToCombo()
{
    if(fileListMain.size()>0)
    {
        for(int i=0;i<fileListMain.size();++i)
        {
            ui->comboBox_list->insertItem(i,getTitleTagFromHtml(fileListMain.at(i)));
        }
        ui->comboBox_list->setEnabled(true);
        loadHtml(fileListMain.at(0));
    }
}


и конкретно в текстовый браузер:
Код

void docsframe::loadHtml(QString fileName)
{
    ui->textBrowser->setSource(QUrl::fromLocalFile(QApplication::applicationDirPath()+"/docs/"+fileName));
}


ну печать уже описывать не буду ) 
вообщем как сказали выше что бы все работало ок по отношению к файлам надо использовать QUrl::fromLocalFile() smile 

спасибо.  smile



--------------------
Red Hat Fedora 17
Qt 4.8.1 (x64), GCC 4.4.3,
G++ 4.4.3, QtCreator 2.4.1
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0431 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.