【发布时间】:2016-04-21 03:14:08
【问题描述】:
我在使用 QSvgRenderer 和文本元素时遇到了一些问题;每次调用 boundsOnElement() 时,我都会返回一个正确对应于文本元素左上角的 QRect(当然是在应用 matrixForElement() 之后),但它的宽度和高度始终为零。
我正在使用 PySide,因此可能是某些未实现的 Python 层有问题,但 poor support of SVG text in Qt and elsewhere 让我不这么认为。有没有人:
- 直接使用 Qt 体验过,
而且,更重要的是:
- 知道如何在 Qt 中获取 SVG 文本元素的大小吗?
我正在考虑尝试根据字体大小、字符串长度等手动猜测,但这似乎很容易出错,如果可以的话,我想正确地做。如果有人有任何排版经验,如果我必须破解这个问题,我需要考虑的事情当然是受欢迎的。
【问题讨论】:
-
为了后代,我最终使用了等宽字体,截取屏幕截图,手动测量字母的宽度,然后将该宽度乘以字符串的长度。这显然不是最好的方法,但它至少有效。不过,我不是快递的忠实粉丝,所以仍然欢迎回答/cmets。
-
我认为你遇到了这个错误:bugreports.qt-project.org/browse/QTBUG-2002
标签: qt svg pyside typesetting