Название: qpainter + qraphicsscene Отправлено: boriska от Декабрь 13, 2012, 11:27 привет, подскажите как одновременно вывести два слоя:
первый рисуется qpainter-ом, вторая -QgraphicsScene, содержащая custom items? Название: Re: qpainter + qraphicsscene Отправлено: boriska от Декабрь 13, 2012, 12:46 привет, подскажите как одновременно вывести два слоя: т.е. я сделал так: первый рисуется qpainter-ом, вторая -QgraphicsScene, содержащая custom items? в qraphicsview я переопределяю drawbackground(), где рисую qpainter-ом. по команде viewport().update() - перерисовываю. в qgraphicsscene содержит произвольные item-ы, которые должны реагировать на действия мышки (перенос и т.д). проблема в том, что в graphicsview я переопределил функцию mouseMoveEvent() и теперь item-ы в graphicsscene не реагируют на действия мышки (признак itemsmovable выставлен). как решить этот момент? Название: Re: qpainter + qraphicsscene Отправлено: carrygun от Декабрь 13, 2012, 13:08 Покажи как переопределил.
Название: Re: qpainter + qraphicsscene Отправлено: GreatSnake от Декабрь 13, 2012, 13:22 проблема в том, что в graphicsview я переопределил функцию mouseMoveEvent() и теперь item-ы в graphicsscene не реагируют на действия мышки (признак itemsmovable выставлен). Вызывать аналогичный метод базового класса.Название: Re: qpainter + qraphicsscene Отправлено: boriska от Декабрь 13, 2012, 13:27 Покажи как переопределил. Код: class view : public QGraphicsView Код: class scene : public QGraphicsScene Название: Re: qpainter + qraphicsscene Отправлено: boriska от Декабрь 13, 2012, 13:29 Вызывать аналогичный метод базового класса. [/quote] не понял Название: Re: qpainter + qraphicsscene Отправлено: GreatSnake от Декабрь 13, 2012, 13:39 В view::mouseMoveEvent() вызывай QGraphicsView::mouseMoveEvent().
Название: Re: qpainter + qraphicsscene Отправлено: carrygun от Декабрь 13, 2012, 13:40 Вызывать аналогичный метод базового класса. [/quote] Скорее всего ты его перекрыл, и события дальше не уходят. Особо из кода не понятно, но попробуй в твоем mouseMoveEvent() в конце написать чтото в духе: Код
|