我正在尝试实现自己的QGraphicsItem
以便显示在QGraphicsScene
中。这样的优点之一是,我可以保留业务对象的位置和大小,而不必在它们和显示坐标系之间进行转换。
但是:不幸的是尺寸很小,例如0.5(米)。 QPolygon
并不是问题,但是当我想以对象大小的一半(小于点或像素大小0.5)显示文本时,什么都不会显示。
我通过在场景中分别创建标签QSimpleTextItem
并随后缩放它们来解决该问题,但是我不希望这种分离。
我想念什么吗?像在幕后放大100倍一切的方法?
更新:
我现在还尝试放大QPainter
对象,以便可以使用更多的“常规”字体大小,但这似乎并没有改变行为。
按100
缩放所有内容,然后将字体(磅)大小设置为0.2 * 100
,也不会显示标签。
答案 0 :(得分:0)
我通过在自定义QGraphicsTextItem
对象中创建一个QGraphicsItem
对象解决了这个问题。
我可以将该文本对象缩小到任意大小,只需在自定义对象的paint()
方法中调用其paint
方法即可。
这很好用,尽管我不确定,例如,单击文本是否自动转换为对自定义对象的单击,或者它们是否是两个单独的实体。
不过,我想它可以归结为边界矩形。