Russian Qt Forum
Июнь 16, 2024, 00:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: работа с файлами и QUrl из под ресурсов  (Прочитано 14510 раз)
daimon
Гость
« Ответ #15 : Октябрь 11, 2012, 14:47 »

пробую считать файл
Код
C++ (Qt)
QFile file(":/m_metod_qt/Resources/default.css");
 
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qDebug()<<file.exists();

в ответ false

http://prntscr.com/h7pcu
http://www.youtube.com/watch?v=sWIQIi4lg58

что не так?

А для чего здесь QLatin1String? Что оно делает?

это так с примера содрано, пока проблема - нет файла
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #16 : Октябрь 11, 2012, 14:48 »

Код
C++ (Qt)
QFile file(":/qrc/Resources/default.css");
 
if (!file.open(QIODevice::ReadOnly)){
qDebug()<<file.exists();
return;
}
 
QString f(file.readAll());
qDebug()<<f;

нет файла и всё

http://prntscr.com/h7rrh
http://prntscr.com/h7rt5
http://prntscr.com/h7ru8

что не так?

А это зачем?
Код
C++ (Qt)
qDebug()<<file.exists();
 

Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2094



Просмотр профиля
« Ответ #17 : Октябрь 11, 2012, 14:50 »

Короче путь к файлу у вас не правильно записан. Вот и не может он его открыть..
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
daimon
Гость
« Ответ #18 : Октябрь 11, 2012, 14:54 »

Короче путь к файлу у вас не правильно записан. Вот и не может он его открыть..
если так QFile file("Resources/default.css"); то подхватывается сразу с локали

https://www.dropbox.com/s/wz40tiybci8zxmj/m_metod_qt.7z
за говнокод не судите, моя задача есть перевести сие на Qt
к файлу тому стучусь в m_metod_qt.cpp
« Последнее редактирование: Октябрь 11, 2012, 14:56 от daimon » Записан
daimon
Гость
« Ответ #19 : Октябрь 11, 2012, 14:57 »

Код
C++ (Qt)
QFile file(":/qrc/Resources/default.css");
 
if (!file.open(QIODevice::ReadOnly)){
qDebug()<<file.exists();
return;
}
 
QString f(file.readAll());
qDebug()<<f;

нет файла и всё

http://prntscr.com/h7rrh
http://prntscr.com/h7rt5
http://prntscr.com/h7ru8

что не так?

А это зачем?
Код
C++ (Qt)
qDebug()<<file.exists();
 



вывести в консоль нашло ли файл или нет
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #20 : Октябрь 11, 2012, 15:03 »

Короче путь к файлу у вас не правильно записан. Вот и не может он его открыть..
если так QFile file("Resources/default.css"); то подхватывается сразу с локали

https://www.dropbox.com/s/wz40tiybci8zxmj/m_metod_qt.7z
за говнокод не судите, моя задача есть перевести сие на Qt
к файлу тому стучусь в m_metod_qt.cpp
Все работает.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
daimon
Гость
« Ответ #21 : Октябрь 11, 2012, 15:05 »

Короче путь к файлу у вас не правильно записан. Вот и не может он его открыть..
если так QFile file("Resources/default.css"); то подхватывается сразу с локали

https://www.dropbox.com/s/wz40tiybci8zxmj/m_metod_qt.7z
за говнокод не судите, моя задача есть перевести сие на Qt
к файлу тому стучусь в m_metod_qt.cpp
Все работает.
Windows x64 ultimate не хочет
Записан
Bepec
Гость
« Ответ #22 : Октябрь 11, 2012, 15:06 »

Не работало. Взял qrc, удалил оттуда ваш файл, добавил заного -> работает.
W7 x64
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #23 : Октябрь 11, 2012, 15:08 »

daimon, попробуй полный ребилд сделать.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
daimon
Гость
« Ответ #24 : Октябрь 11, 2012, 15:11 »

daimon, попробуй полный ребилд сделать.
вроде подхватилось, всему виной было - Qt вроде не создал сырец из под моего ресурса и следовательно его не компилил в бинарник, пересоздал файл ресурса вроде заработало
Записан
Bepec
Гость
« Ответ #25 : Октябрь 11, 2012, 15:12 »

Думается, что это не Qt виновато, а addin ваш. Но проблема в принципе решена Улыбающийся
Записан
daimon
Гость
« Ответ #26 : Октябрь 11, 2012, 15:16 »

итого css думаю встраивать так

Код
C++ (Qt)
QWebPage *page = new QWebPage();
//page->settings()->setUserStyleSheetUrl(QUrl::fromLocalFile("Resources/default.css"));
QFile file(":/qrc/Resources/default.css");
 
if (!file.open(QIODevice::ReadOnly)){
qDebug()<<"File not exists";
return;
}
 
QString fileStr(file.readAll());
 
page->mainFrame()->setHtml("<style>"+ fileStr + "</style>" + sample.answer().c_str());
ui.webView->setPage(page);
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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