python - QGraphicsScene 中的文本可以有多小?
问题描述
我正在尝试实现我自己的QGraphicsItem
的 s 以显示在QGraphicsScene
. 这样做的一个好处是,我可以保留业务对象的位置和大小,而无需在它们和显示坐标系之间进行转换。
但是:不幸的是,尺寸很小,例如 0.5(米)。这不是问题QPolygon
s 的问题,但是当我想以对象大小的一半显示文本时,低于 0.5 的点或像素大小,什么都不会显示。
我通过在场景中分别创建标签来解决这个问题QSimpleTextItem
s 并在之后对其进行缩放来解决这个问题,但我不想要那种分离。
我错过了什么吗?就像在幕后将所有内容缩放 100 倍的方法?
更新:
我现在也尝试缩放QPainter
对象,以便我可以使用更多“正常”字体大小,但这似乎并没有改变行为。
按比例缩放所有内容100
,然后将字体(点)大小设置为0.2 * 100
,也不会显示标签。
解决方案
QGraphicsTextItem
我通过在我的自定义对象中创建一个对象解决了这个问题QGraphicsItem
。
这个文本对象我可以缩小到我需要的任何大小,只需paint()
在paint
我的自定义对象的方法中调用它的方法。
这工作得很好,虽然我还不确定,例如,如果单击文本,是否会自动转换为单击我的自定义对象,或者它们是否是两个独立的实体。
不过,我想它归结为边界矩形。
推荐阅读
- php - 在 laravel 中检索具有关系的数据
- asp.net-core - 我想在索引视图中显示模态
- angular - 以角度8将字符串编码为url
- python - 初始化 Django 对象的最优雅或 Pythonic 方式是什么?
- android - Android Jetpack Compose:未解决的参考:Intent
- python - 如何计算实际总字段的总值并将此值存储在odoo模型中的另一个字段中?
- java - persistence.xml 配置到纯 Java JDO 配置
- spring - Hibernate/JPA - 是否可以有一个具有父母 ID + 另一个字段的孩子?
- python - 用于 Excel 的 Python 自动化
- python - 为什么我无法在下拉列表中选择项目?