Как нарисовать QGraphicsItem в представлении MFC - PullRequest
0 голосов
/ 10 мая 2010

Я начинаю использовать Qt в своем приложении. Мое приложение основано на MFC. Я хочу нарисовать некоторые QGraphicsItems в моем точном представлении MFC, это возможно?

Вы можете сказать, что это можно сделать, разместив QGraphicsView с QWinWidget в представлении MFC, но это не работает. Потому что мой Canvas (вид MFC) поддерживает масштабирование и поворот, а сам QGraphicsView - нет. Когда я масштабирую QGraphicsItem, QGraphicsView показывает полосу прокрутки вместо увеличения.

Есть предложения? Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 мая 2010

Вы можете отключить отображение скролла QGraphicsView, установив ScrollBarPolcies в Qt :: ScrollBarAlwaysOff. (QGraphicsView является подклассом QAbstractScrollArea.)

Я не уверен, что понимаю, что вы имеете в виду, поворачивая сам QGraphicsView вместо содержимого. Без полос прокрутки я не вижу разницы. Также большая часть функций QGraphicsItem, таких как редактирование, как вы указали, зависит от обработки событий в QGraphicsScene и QGraphicsView для работы. Я не думаю, что подключение только QGraphicsItem к представлению MFC будет делать то, что вы хотите.

0 голосов
/ 10 мая 2010

Теоретически вы можете использовать QGraphicsScene::paint, чтобы нарисовать сцену с вашим QGraphicsItems в буфере, а затем нарисовать ее в виде MFC, но это не имеет никакого смысла ...

В чем проблема с QGraphicsView? Вы ознакомились с функциями rotate(), scale(), translate() или shear()?

...