![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Obey-Kun |
![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 96 Регистрация: 24.3.2010 Пользователь №: 1556 Спасибо сказали: 3 раз(а) Репутация: ![]() ![]() ![]() |
Создаю программу для моделирования изменения энтальпийного (температурного, грубо говоря) поля при кондуктивной теплопередачи в массиве грунтов. Можете считать, для простоты понимания, что это CAD.
Там сцена и вью. В сцене лежит много-много кирпичиков. Кирпичики надо иногда, например, выделять. Для этого используется прямоугольное выделение. Прямоугольное выделение представлено как виджет, рисующийся во вьюпорте вью. Проблема в том, что при изменении геометрии выделения (размеров или положения этого виджета), пускается paintEvent для области, являющейся окаймляющей старую и новую геометрию. При этом перерисовываются все кирпичики, лежащие и лежавшие только что под этим виджетом. А это долго, если их много (заметно от 1500). Можно ли как-нибудь самому задавать QRegion, в котором должен пускаться paintEvent при resize/move? Вот скриншот (для вашего вдохновения): тыц Сообщение отредактировал Obey-Kun - 23.11.2010, 2:00 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 12.6.2025, 15:01 |