Russian Qt Forum

Qt => Вопросы новичков => Тема начата: qwyllum от Декабрь 25, 2012, 14:50



Название: Подскажите как реализовать
Отправлено: qwyllum от Декабрь 25, 2012, 14:50
Пишу прообраз будущего редактора карт. Пока стоит задача добавления фонов. Т.е. нужно размещать множество рисунков, изменять их размер, угол поворота и т.п. В связи с этим возник вопрос

1. Как сделать окно свойств, вроде тех, что в QT Designer, где описываются свойста элемента? Вообще, что-то похожее можно сделать в Table View, но можно ли туда добавить выпадающий список или кнопку, как это сделано в свойствах текста метки, когда при нажатии на кнопку [...] открывается редактор для расширенного редактирования текста?

2. Что использовать для отрисовки фонов? Сейчас я использую QImage, но возможно есть более лучшие решения по производительности?

3. Как регулировать порядок прорисовки фонов, чтобы выбирать, какой фон будет отображаться поверх какого?

Огромное спасибо!


Название: Re: Подскажите как реализовать
Отправлено: Bepec от Декабрь 25, 2012, 15:50
QGraphicsView вам в руки, QGraphicsScene вам на виджет, QGraphicsItem вам в переопределение.

Почитайте об этом в ассистенте, посмотрите примеры.


Название: Re: Подскажите как реализовать
Отправлено: carrygun от Декабрь 26, 2012, 08:30
По первому пункту подойдет Qt Property Browser.


Название: Re: Подскажите как реализовать
Отправлено: Dancing_on_water от Декабрь 26, 2012, 09:21
Как сказали используй QGraphicsScene и QgraphicsView. И да, их переопределять не надо, пойдут стандартные.

2)Чтоб добавить фоновый рисунок, тебе нужно запихнуть QImage в QGraphicsPixmapItem.
3)Наложение объектов в QgraphicsScene реализуется через zValue item-а.

P.S. Если охота заморочиться, то openGl в зубы. Да, кстати, возможно стоит попробовать использоваться QGlWidget в качестве VIewPort-а для QGraphicsView