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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTextBrowser(QTextEdit). Обновление содержимого.  (Прочитано 4668 раз)
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« : Январь 16, 2014, 06:21 »

Есть html файлы, в которых есть картинки. Картинки являются локальными файлами.
Файлы картинок были удалены, как обновить QTextBrowser, чтоб увидеть, что удаленные картинки в html не отображались?
update и reload не помогает Грустный
« Последнее редактирование: Январь 16, 2014, 06:23 от gil9red » Записан

Dexel
Гость
« Ответ #1 : Январь 17, 2014, 01:35 »

Если они тянутся из ресурса, т.е. через qrc:/ , то до фени что они удалены физически.
qmake сразу крикнет что нет файлов ресурса.
А если читаешь прямиком, то в кеше возможно засели:
Код:
QWebSettings::setObjectCacheCapacities(0, 0, 0);
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #2 : Январь 17, 2014, 02:07 »

Если они тянутся из ресурса, т.е. через qrc:/ , то до фени что они удалены физически.
qmake сразу крикнет что нет файлов ресурса.
А если читаешь прямиком, то в кеше возможно засели:
Код:
QWebSettings::setObjectCacheCapacities(0, 0, 0);
А каким боком модуль qwebkit связан с классами QTextEdit и QTextDocument? Улыбающийся
Записан

gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Январь 20, 2014, 19:07 »

Up! Улыбающийся
Записан

Bepec
Гость
« Ответ #4 : Январь 20, 2014, 19:58 »

А если перевставить страничку, картинки исчезнут?
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #5 : Январь 20, 2014, 20:13 »

Ага, только это чистый костыль Улыбающийся

Если так, то не сработает:
Код
C++ (Qt)
void refreshContent()
{
   textEdit->setHtml( textEdit->toHtml() );
}
 

А вот так работает:
Код
C++ (Qt)
void refreshContent()
{
   QString text = textEdit->toHtml();
   textEdit->clear();
   textEdit->setHtml( text );
}
 
Записан

Bepec
Гость
« Ответ #6 : Январь 20, 2014, 20:28 »

Ммм... перед сном посмотрю что там за хитрости.

В принципе интересно. При отрисовке запрашиваются ресурсы и кешируются в QTextDocument. Причём имеются методы только добавления ресурсов.

Удаления нет Веселый Кеш удаляется только с объектом. Так что костыль вам в руки Веселый

PS мог и пропустить что-то, но это что-то тогда в глубине Улыбающийся

PPS кстати они ещё и сравниваются при вставке новых данных. Потому и не работает простая "переустановка".

update: конечно можно всегда поменять приватные хедеры и добраться до cachedResources, но это ещё худший костыль Улыбающийся
« Последнее редактирование: Январь 20, 2014, 21:00 от Bepec » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #7 : Январь 20, 2014, 21:09 »

Спасибо за такой развернутый ответ Улыбающийся
Записан

Dexel
Гость
« Ответ #8 : Январь 22, 2014, 08:40 »

Если они тянутся из ресурса, т.е. через qrc:/ , то до фени что они удалены физически.
qmake сразу крикнет что нет файлов ресурса.
А если читаешь прямиком, то в кеше возможно засели:
Код:
QWebSettings::setObjectCacheCapacities(0, 0, 0);
А каким боком модуль qwebkit связан с классами QTextEdit и QTextDocument? Улыбающийся
Вай, пардон, не глянул  Подмигивающий
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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