Проблема Qt SetRenderHints - PullRequest
       17

Проблема Qt SetRenderHints

0 голосов
/ 17 января 2011

Я использую Qt 4.6.3 и у меня проблема.

ui.graphicsView->setRenderHints(QPainter::Antialiasing,false);

, но некоторые цвета линий меняются.А что я могу сделать?Пожалуйста, помогите мне.

Я думаю, что не могу выразить себя.У меня есть много строк.Когда я использую этот код, меняются те же цвета линий (верхняя часть строки светлее нижней части строки), я не могу решить эту проблему.

1 Ответ

3 голосов
/ 11 октября 2011

QPainter :: Antialiasing, false необходимо для достижения лучшего качества рисования.

уверен, что ваша проблема в том, что вы рисуете линии, всякий раз, когда вы используете художник, необходимо сохранить и восстановить состояние.

void Line:: paint (QPainter * painter, const QStyleOptionGraphicsItem * option,
QWidget * widget)
{
painter-> save (); / / save
painter-> setRenderHint (QPainter:: Antialiasing);
painter-> setPen (mypen);
painter-> drawLine (...);
painter-> restore (); / / restore
}

при внесении изменений в Painter, он может стать нестабильным, если не вызвать методы save () и restore ().удачи

...