我在里面画了几个矩形QGraphicsView
;我通过创建一个自定义点画图案来使用这些图案QBrush
和我的QPixmap
。这将按预期以默认缩放级别显示。
当我打电话时view->scale()
,矩形按我的预期显示得更大或更小。然而,Qt 已经缩放了点画图案的各个位,这是意料之外的;我希望它能用画笔再次绘制更大或更小的矩形。
例如。
如果我使用了具有一个像素点和像素空间的点画图案,则在放大后,我想看到一个更大的矩形,但我想要具有相同像素间隙的相同点画图案。这可以以某种方式实现吗?谢谢。
我在 Qt 中开发 EDA 工具伴侣时遇到了同样的问题。
经过一番尝试后,我所做的(并且似乎对我有用)是创建一个自定义图形项目。关于绘画方法,我这样做:
QBrush newBrush = brush_with_pattern;
newBrush.setTransform(QTransform(painter->worldTransform().inverted()));
painter->setBrush(newBrush);
即将项目的逆变换应用到画笔(因此它不会缩放)。
我认为 setDashOffset 仅适用于形状的边框(而不是填充)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)