Название: Неактивированный QPainter - "QPainter::setPen: Painter not active" (РЕШЕНА) Отправлено: VladGuardian от Ноябрь 03, 2009, 21:38 Архитектура приложения такова - есть главное окно, туда накидано несколько контролов, один из которых - мой WorkArea (как я его назвал), унаследованный от QGraphicsView:
workarea.h: Код: #include <QtGui/QGraphicsView> Мне нужно рисовать в нем. Для этого прямо в классе WorkArea я определил обработчик paint, все кошерно, чики-пики: workarea.cpp: Код: #include <QtGui/QPaintEvent> Подключение контрола в главном окне: Код: MainWindow::MainWindow() При запуске paint срабатывает, однако ничего не рисует, при этом выдавая в консоль: QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::setRenderHint: Painter must be active to set rendering hints QPainter::setPen: Painter not active QPainter::setBrush: Painter not active QPainter::end: Painter not active, aborted Наверное, я забыл сказать какое-то магическое заклинание... >:( Заранее благодарю за правильный ответ! Название: Re: Неактивированный QPainter - "QPainter::setPen: Painter not active" Отправлено: _OLEGator_ от Ноябрь 03, 2009, 22:36 не понятно, что в самом конце делает update()?! он же вроде перерисовку вызывать должен...
полный код класса пожалуйста... Название: Re: Неактивированный QPainter - "QPainter::setPen: Painter not active" Отправлено: VladGuardian от Ноябрь 04, 2009, 01:41 не понятно, что в самом конце делает update()?! он же вроде перерисовку вызывать должен... полный код класса пожалуйста... update() убрал - но дело вовсе не в нем... -Обновил первый пост- Название: Re: Неактивированный QPainter - "QPainter::setPen: Painter not active" Отправлено: pastor от Ноябрь 04, 2009, 01:45 Замени
Код
на Код
Название: Re: Неактивированный QPainter - "QPainter::setPen: Painter not active" Отправлено: VladGuardian от Ноябрь 04, 2009, 18:37 Замени p.begin(this); на p.begin(viewport()); Сработало!!! Респект! :) Название: Re: Неактивированный QPainter - "QPainter::setPen: Painter not active" (РЕШЕНА) Отправлено: ruslan89 от Февраль 16, 2010, 20:04 Всем, здаствуйте! Топик новый решил не создавать ибо проблемы таже и решение для вышеуказанного случая не помогло.
что я хотел бы получить? цветовые градиетнты в виде концентиреских окружностей. Код: #include "mainwindow.h" ошибка таже: Код: Starting /mnt/data/programming/Qt/domino/domino... вообще сосздаётся впечатление что я пытаюсь гланды через жёпу автогенам вырезать....нинаю пчиму! пните пожалуйста в нужном направлениии?! зарание спасибо. Название: Re: Неактивированный QPainter - "QPainter::setPen: Painter not active" (РЕШЕНА) Отправлено: sendevent от Февраль 16, 2010, 20:51 вообще сосздаётся впечатление что я пытаюсь гланды через жёпу автогенам вырезать....нинаю пчиму! пните пожалуйста в нужном направлениии?! бдыщь:зарание спасибо. void QWidget::paintEvent ( QPaintEvent * event ) [virtual protected] (http://doc.trolltech.com/4.6/qwidget.html#paintEvent) |