![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Sky |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 10.5.2008 Пользователь №: 170 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Есть QGraphicsScene, содержащая некоторое количество элементов и отображающаяся в QGraphicsView.
Необходимо, чтобы некоторые из элементов не меняли размер, при изменении масштаба в QGraphicsView. Переопределение paintEvent не помогает - все, что отрисовывается в нем, не показывается, а в консоли "QPainter::begin: Widget painting can only begin as a result of a paintEvent". Пока сделал таким образом, что при изменении масштаба в QGraphicsView меняется масштаб отдельных элементов в противоположную сторону. Но во-первых это криво, а во-вторых текст при этом отрисовывается некорректно. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Sky |
![]()
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 10.5.2008 Пользователь №: 170 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ну выходит, что paintEvent не начинается, я так понимаю это из-за двойной буферизации. Наверно надо ловить событие изменения масштаба. В самом QGraphicsView такого события вроде нет. Я меняю масштаб по событию wheelEvent, соответственно этот момент отлавливаю, только что дальше делать? ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
я честно говоря, с рисованием и т.п. вещами в Qt еще не занимался.
|
|
|
Sky |
![]()
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 10.5.2008 Пользователь №: 170 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Все оказалось проще некуда:
item->setFlag(QGraphicsItem::ItemIgnoresTransformations, true); ![]() ![]() ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
ну вот сам нашел, а я буду знать
![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 15.7.2025, 20:26 |