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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWebView contents size + layout  (Прочитано 3296 раз)
andrew.k
Гость
« : Июнь 24, 2012, 00:35 »

Сабж имеет такую реализацию
Код
C++ (Qt)
QSize QWebView::sizeHint() const
{
   return QSize(800, 600); // ####...
}
 
Поэтому в лейауте имеет неоправданно большой размер, даже если этого не требуется (отображаемое содержимое небольшое).
Кто как решал эту проблему?

Как заставить webview занимать меньше места маленьком содержимом.

stretch для других виджетов в лейауте так же не дает эффекта.
« Последнее редактирование: Июнь 24, 2012, 00:38 от andrew.k » Записан
Fat-Zer
Гость
« Ответ #1 : Июнь 24, 2012, 01:14 »

наследовать QWebView и переопределить sizeHint()... Толсто, зато точно получишь то, что надо...

ну или дальше с sizePolicy играться...
Записан
andrew.k
Гость
« Ответ #2 : Июнь 24, 2012, 17:40 »

наследовать QWebView и переопределить sizeHint()... Толсто, зато точно получишь то, что надо...

ну или дальше с sizePolicy играться...
Я это пробовал. Не сработало.
Проблема еще вот в чем. Когда QWebView пуст, то согласно условию его высота будет 0 (я делал через setFixedHeight или setMaximumHeight)
Когда в нем появляется контент, он пытается уместить его в текущие размеры.
А определить необходимую высоту никак невозможно до окончания разметки.
Записан
andrew.k
Гость
« Ответ #3 : Июнь 25, 2012, 01:22 »

Нужный эффект дает обработка сигнала у QWebFrame void contentsSizeChanged(const QSize & size)
Но проблема остается. Т.к. работает это почему-то только в сторону увеличения размера контента.
Если размер контента уменьшается (относительно предыдущего размера), то в обработке сигнала получаем некорректный размер.
Т.е. в сторону увеличения работает (более-менее корректно), в сторону уменьшения нет.
Почему? Загадка.

Пока думаю над тем, может как то очищать QWebView перед загрузкой нового контента.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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