Название: Прокси виджеты тормозят, как оптимизировать их отрисовку на сцене? Отправлено: Fregloin от Январь 12, 2012, 18:25 Привет. Нужно на сцене нарисовать шкафы с оборудованием (я уже поднимал эту темку ранее).
Рисую с помощью виджетов, а потом эти виджеты кидаю на сцену через прокси-виджет. Сцена очень сильно тормозит. Читал, что нежелательно использовать QWidget, вместо их нужно использовать QGraphicsWidget. Но вот беда, мне нужно использовать стандартные QLabel, QProgressBar, QFrame. Есть их аналоги-наследники от QGraphicsWidget или нужно все руками рисовать? Виджеты компоную кучей лейатуов в редакторе. Название: Re: Прокси виджеты тормозят, как оптимизировать их отрисовку на сцене? Отправлено: GreatSnake от Январь 12, 2012, 18:50 Но вот беда, мне нужно использовать стандартные QLabel, QProgressBar, QFrame. Есть их аналоги-наследники от QGraphicsWidget В перегруженном QGraphicsWidget::paint() используй QStyle::drawControl().или нужно все руками рисовать? Название: Re: Прокси виджеты тормозят, как оптимизировать их отрисовку на сцене? Отправлено: popper от Январь 12, 2012, 22:41 Из справки:
Unlike QGraphicsItem, QGraphicsWidget is not an abstract class; you can create instances of a QGraphicsWidget without having to subclass it. This approach is useful for widgets that only serve the purpose of organizing child widgets into a layout. Я думаю, что достаточно создать необходимые виджеты, разместить их в лэйауте, который затем передать объекту QGraphicsWidget Название: Re: Прокси виджеты тормозят, как оптимизировать их отрисовку на сцене? Отправлено: Fregloin от Январь 13, 2012, 15:02 классические виджеты (наследники от QWidget) нельзя размещать в лейаутах QGraphicsWidget :(
Название: Re: Прокси виджеты тормозят, как оптимизировать их отрисовку на сцене? Отправлено: Fregloin от Январь 13, 2012, 15:33 Пробую создать простую метку, но метод paint не вызывается при добавлении виджета на сцену
Код: #include <QGraphicsWidget> Код: #include <QPainter> Почему? Название: Re: Прокси виджеты тормозят, как оптимизировать их отрисовку на сцене? Отправлено: Fregloin от Январь 13, 2012, 15:36 а нет, вызывается, сорри.
Так что получается, придется руками переписывать QLabel, QProgressBar? Название: Re: Прокси виджеты тормозят, как оптимизировать их отрисовку на сцене? Отправлено: Fregloin от Январь 13, 2012, 18:26 А кто знает, какая альтернатива QSpacer для QGraphicsLinearLayout?
Мне нужно что бы виджет был "придавлен" к верху в лейауте. addStretch никакого эффекта не дает :( |