我使用Qt 4.6.3而且我遇到了问题。
ui.graphicsView->setRenderHints(QPainter::Antialiasing,false);
但有些线条的颜色会发生变化。我能做什么?请帮帮我。
我认为我无法表达自己。我有很多想法。当我使用这个代码相同的线条颜色改变(线的顶部比线的底部轻)我不能解决这个问题。
答案 0 :(得分:3)
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(),它可能会变得不稳定。祝你好运