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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Bug в QWebView::setPage()? [РЕШЕНО]  (Прочитано 4184 раз)
NOX86
Гость
« : Февраля 26, 2010, 18:05 »

Баг ли это и как с ним бороться?
В аттаче маленькая программа воспроизводящая непонятное поведение.

Компилируем, запускаем
Кликаем на "Page 1" кнопку,
 затем на "Page 2" кнопку
 затем на "Page 1" кнопку
пробуем что либо сделать (нп. проскролить вниз, кликнуть) - страница обновиться только лишь в случае потери фокуса или переключения между "Page 1" <-> "Page 2"

Windows XP SP3, qt 4.6.1 (2), MS compiller (with QtCreator 1.31)
« Последнее редактирование: Марта 06, 2010, 04:07 от NOX86 » Записан
sendevent
Гость
« Ответ #1 : Февраля 26, 2010, 18:41 »

...страница обновиться только лишь в случае потери фокуса или переключения между "Page 1" <-> "Page 2"

Windows XP SP3, qt 4.6.1 (2), MS compiller (with QtCreator 1.31)
в примере перерисовка происходит сразу по нажатию юбатонов, но и после "обновления" нету нормального взаимодействия с пользователем (не меняется курсор, не актуализируются скроллы, не меняется текст селекшн и т.п.).
http://www.prog.org.ru/topic_11500_0.html
видимо, баг.
Записан
NOX86
Гость
« Ответ #2 : Февраля 26, 2010, 18:55 »

разберись с парентами. Имхо должно работать, если обе веб пейдж будут без парента (тк в доке написано что QWebView::setPage не меняет парента - для чего-то это сделано...)
К сожалению мне такое поведение не подходит.
 А сделано это потому что если для QWebPage родителем установлен текущий QWebView, то при очередном вызове QWebView::setPage() старая страница удалиться см. исходники.
 С родителями порядок - пробывал временно устанавливать QWebPage::setParent() на QWebView - эффект тот же.
Пытался курить исходники Qt - вроде всё пучком. Есть у кого какие идеи как исправить эту фигню.
« Последнее редактирование: Февраля 26, 2010, 18:58 от NOX86 » Записан
sendevent
Гость
« Ответ #3 : Февраля 26, 2010, 19:30 »

да-да-да. после ковыряний там же получил тот же результат: вроде, все ок, но как решить проблему без костылей - не понятно Улыбающийся
приемлемым поведение было бы, если б после возврата страницы из "view предпросмотра" в "оригинальое view" возвращалось бы нормальное взаимодействие с пользователем, но т.к. этого нету - поведение нифига не приемлемое.
(мне пришлось использовать не отдельную вьюшку для предпросмотра, а передавать "оригинальную" и вручную управлять ее доступностью и пр.)
Записан
NOX86
Гость
« Ответ #4 : Марта 06, 2010, 04:07 »

Проблема принята к рассмотрению.
"I can reproduce it with trunk. This is a low priority bug." Benjamin Poulain
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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