我正在尝试实现我自己的QGraphicsItem
以在QGraphicsScene
中显示。这样做的一个优点是,我可以保持业务对象的位置和大小,而不必在它们和显示坐标系之间进行转换
但是:不幸的是尺寸很小,比如0.5米。这不是QPolygon
的问题,但是当我想以对象大小的一半显示文本,低于0.5的点或像素大小时,什么也不会显示
我通过在场景中将标签分别创建为QSimpleTextItem
并在之后缩放它们来解决这个问题,但我不希望这种分离
我错过什么了吗?就像一种在幕后将所有东西放大100倍的方法
更新:
现在,我还尝试向上缩放QPainter
对象,以便使用更多的“正常”字体大小,但这似乎不会改变行为
按100
缩放所有内容,然后将字体(点)大小设置为0.2 * 100
,也不会显示标签
我通过在自定义
QGraphicsItem
对象内创建QGraphicsTextItem
对象解决了这个问题这个文本对象可以缩小到我需要的任何大小,只需在自定义对象的
paint
方法中调用它的paint()
方法虽然我还不确定,例如,如果单击文本,是否会自动转换为单击我的自定义对象,或者它们是否是两个独立的实体,但这种方法非常有效
不过,我想它可以归结为边界矩形
相关问题 更多 >
编程相关推荐