Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: jojahti от Август 19, 2009, 19:56



Название: Вызов методов отрисовки класса QGraphicsScene.
Отправлено: jojahti от Август 19, 2009, 19:56
Вообщем у меня класс QGraphicsScene.
И мне нужно вызвать его отрисовывающие методы из подпрограммы(У меня они по разным файлам распиханы.)
Я пробовал подключать через заголовочный файл. Через операцию :: Пробовал. И чего-то меня компилятор лесом посылает.

Тоесть вот моя сцена:
Цитировать
//==  myScene.cpp  =============
class myScene : public QGraphicScene
{  ...
    ...
  public:
    void drawItem(); //вот моя рисовалка
};
//===========================
Дальше я в
//==  main.cpp  ================
int main()
{
myForm -> show
podprogramka();    //И тут я из подпрограмки хочу вызвать рисовательный метод сцены
return app.exec()
}
//===========================

Как это можно реализовать?


Название: Re: Вызов методов отрисовки класса QGraphicsScene.
Отправлено: spirit от Август 20, 2009, 08:21
см. QWidget::update.


Название: Re: Вызов методов отрисовки класса QGraphicsScene.
Отправлено: jojahti от Август 20, 2009, 10:56
Просто можно извлечь из формы адрес на сцену, передать её в мою подпрограмму и творить там чё угодно. :D

Эээ. что за update и зачем??


Название: Re: Вызов методов отрисовки класса QGraphicsScene.
Отправлено: spirit от Август 20, 2009, 10:58
Цитировать
void QWidget::update ()   [slot]
Updates the widget unless updates are disabled or the widget is hidden.
This function does not cause an immediate repaint; instead it schedules a paint event for processing when Qt returns to the main event loop. This permits Qt to optimize for more speed and less flicker than a call to repaint() does.
Calling update() several times normally results in just one paintEvent() call.
Qt normally erases the widget's area before the paintEvent() call. If the Qt::WA_OpaquePaintEvent widget attribute is set, the widget is responsible for painting all its pixels with an opaque color.
т.е. заставляет виджет перерисоваться.


Название: Re: Вызов методов отрисовки класса QGraphicsScene.
Отправлено: jojahti от Август 20, 2009, 11:04
Зачем? Я же не на виджете рисую. Там же сцена. И она сама за своими объектами следит.