Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Ground от Июль 08, 2011, 15:01



Название: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: Ground от Июль 08, 2011, 15:01
Доброго времени суток!
Появилась довольно сложная задача, как решать - ума не приложу, надеюсь на пинок в правильном направлении.
Имеется главное окно (MainWindow), один большой виджет (QWidget BG, больше размеров MainWindow), несколько маленьких виджетов (Element). Требуется в главном окне разместить большой виджет так, чтобы в этом же главном окне появились ползунки скролла. Помимо этого, по заданным координатам, относительно большого виджета, требуется разместить несколько маленьких.
Для наглядности рисунок: http://s1.ipicture.ru/uploads/20110708/MTUFJROn.jpg (http://s1.ipicture.ru/uploads/20110708/MTUFJROn.jpg)

Отсюда возникают вопросы:
1. Возможно ли провернуть такую схему вообще?
2. Как реализовать скролл для такого случая?
3. Как позиционировать виджеты не с помощью лейаутов, а с помощью координат?


Название: Re: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: navrocky от Июль 08, 2011, 15:51
Не понятно, в чем проблема?

Используй QScrollArea, он как раз для этого создан.

Цитировать
Как позиционировать виджеты не с помощью лейаутов, а с помощью координат?
Для этого надо просто не использовать лайауты..  См. QWidget::setGeometry


Название: Re: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: twp от Июль 08, 2011, 15:59
просто в главное окно устанавливается QScrollArea а уже в него устанавливается QWidget BG со всеми его виджетами. Задать позицию можно через QWidget::move()


Название: Re: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: navrocky от Июль 08, 2011, 17:08
На самом деле тут можно обойтись без BG. Смотря что в итоге автор хочет получить..


Название: Re: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: twp от Июль 08, 2011, 19:25
в смысле, обойтись без установки виджета в QScrollArea?


Название: Re: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: Ground от Июль 09, 2011, 04:57
Всем спасибо за помощь!
Проблема была в незнании инструментов, для реализации подобной задачи.
В итоге все получилось, сделал так, как посоветовал twp.


Название: Re: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: navrocky от Июль 10, 2011, 11:50
в смысле, обойтись без установки виджета в QScrollArea?

Да, достаточно разместить виджеты - элементы схемы, и все будет скроллироваться без подложки.


Название: Re: Перекрывающиеся QWidget + Фоновая картинка со скроллом
Отправлено: twp от Июль 11, 2011, 13:24
А где их тогда размещать? Можно небольшой примерчик, скажем нужно разместить несколько кнопок в QVBoxLayout