首页 > 解决方案 > QGraphicsScene 中的文本可以有多小?

问题描述

我正在尝试实现我自己的QGraphicsItem的 s 以显示在QGraphicsScene. 这样做的一个好处是,我可以保留业务对象的位置和大小,而无需在它们和显示坐标系之间进行转换。

但是:不幸的是,尺寸很小,例如 0.5(米)。这不是问题QPolygons 的问题,但是当我想以对象大小的一半显示文本时,低于 0.5 的点或像素大小,什么都不会显示。

我通过在场景中分别创建标签来解决这个问题QSimpleTextItems 并在之后对其进行缩放来解决这个问题,但我不想要那种分离。

我错过了什么吗?就像在幕后将所有内容缩放 100 倍的方法?

更新:

我现在也尝试缩放QPainter对象,以便我可以使用更多“正常”字体大小,但这似乎并没有改变行为。

按比例缩放所有内容100,然后将字体(点)大小设置为0.2 * 100,也不会显示标签。

标签: pythonqtpyside2

解决方案


QGraphicsTextItem我通过在我的自定义对象中创建一个对象解决了这个问题QGraphicsItem

这个文本对象我可以缩小到我需要的任何大小,只需paint()paint我的自定义对象的方法中调用它的方法。

这工作得很好,虽然我还不确定,例如,如果单击文本,是否会自动转换为单击我的自定义对象,或者它们是否是两个独立的实体。

不过,我想它归结为边界矩形。


推荐阅读