Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: lenny от Февраль 18, 2011, 13:39



Название: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: lenny от Февраль 18, 2011, 13:39
Нужно всякие лайнедиты и т.п. добавлять в сцену и чтоб пользователь мог с ними работать. Это возможно?


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: GreatSnake от Февраль 18, 2011, 13:44
см. QGraphicsProxyWidget


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: lenny от Февраль 18, 2011, 13:46
Спасибо! щас посмотрю.


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: lenny от Февраль 18, 2011, 14:05
Круть! Как же я сам не заметил QGraphicsScene::addWidget(QWidget*). Тока я не очень понял зачем нужен QGraphicsProxyWidget.


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: lenny от Февраль 18, 2011, 14:31
Врубился зачем proxy: proxy->setPos(500,500); и т.п.


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: Paullo от Февраль 18, 2011, 21:24
На всякий случай один подводный камень - с точки зрения оконного менеджера и системы эти окна окнами не являются. Поэтому хэндла у них нету. Обжёгся на этом как-то раз.


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: GreatSnake от Февраль 18, 2011, 22:22
Про какие окна вы говорите?


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: Paullo от Февраль 19, 2011, 02:11
Извените. Виджеты имел в виду. Чего-то совсем заработался видимо. Пример из жизни - пробовал подружить GStreamer и Qt. Phonon оказался недостаточно гибок. Надо было выводить картинку c web-камеры в виджет, который внутри QGraphicsScene находился. Для этого GStreamer просил хэндл окна (нативный, в данном случае X window id, если не ошибаюсь) в которое выводить. Бился около 3х дней. Закончилось всё в построением жутчайшего велосипеда в виде ручного получения каждого кадра из GStreamer'a и ручной его посылки через event'ы.


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: barmaglot от Февраль 19, 2011, 14:53
Вот здесь как раз по теме встраивания виджетов есть материал: http://symmetrica.net/qt4/lesson4.htm (http://symmetrica.net/qt4/lesson4.htm)


Название: Re: Можно ли в QGraphicsScene вставлять виджеты?
Отправлено: GreatSnake от Февраль 19, 2011, 16:07
QGraphicsView состоит всего из 2-х окон: самого вью и вьюпорта. Вся отрисовка делается непосредственно во вьюпорте. Хотя, если быть совсем точным, то в пиксмапе бакинг-стора.

Цитировать
Надо было выводить картинку c web-камеры в виджет, который внутри QGraphicsScene находился.
Хм, а вот для таких целей использовать QGraphicsScene, имхо, изврат, т.к. последний ещё тот тормоз.