Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Neit от Август 14, 2015, 16:09



Название: Добавление элементов в QgraphicsScene в цикле
Отправлено: Neit от Август 14, 2015, 16:09
Здравствуйте! Подскажите новичку в данном вопросе:
Я пишу программку, в которой есть QGraphicsScene. В ней с помощью вот такого цикла делаю добавление квадратиков-пикселей:
Код:
for(int v=0;v<=30;v++){

    QRgb color = qRgb(100,100,100);//цвет пикселя
    QBrush Brush(color);//кисть
    QPen pen(color);//Цвет границы (она не нужна)
    pen.setWidth(0);//Толщина границы - ноль
    pix = scene->addRect(-200+v*6,0,5,5,pen,Brush);//Рисуем пиксель
}
Но почему-то отрисовка всех элементов происходит только после завершения цикла. А мне необходимо, чтобы это происходило при каждой итерации. Можно ли этого как-нибудь добиться?


Название: Re: Добавление элементов в QgraphicsScene в цикле
Отправлено: gil9red от Август 14, 2015, 21:07
Ну, наверное, QGraphicsScene::update (http://doc.qt.io/qt-4.8/qgraphicsscene.html#update)


Название: Re: Добавление элементов в QgraphicsScene в цикле
Отправлено: Bepec от Август 14, 2015, 21:49
Не update, а qApp->processEvents(), ибо update и иже с ним лишь помещает евент в очередь :)


Название: Re: Добавление элементов в QgraphicsScene в цикле
Отправлено: Neit от Август 15, 2015, 01:34
Верес, спасибо огромное, это как раз то что надо!