qt设置QGraphicsTextItem中的行距.height

qt设置QGraphicsTextItem中的行距.height,qt,qt4.8,Qt,Qt4.8,我在画布上有一些小的图形站点,需要显示一些文本。当有换行符时,垂直行距不必要地大,这使得文本被绘制在图形项目之外。我一直在寻找一种在QGraphicsTextItem上设置行距(或高度)的方法,但运气不好 我试过了 setHtml("<div line-height=100%>some text</div>") 这是Python/py边,但其他API与C++完全一样。HTML当前作为参数“text”传递到init方法中。QGraphicsTextItem的父项是QGr

我在画布上有一些小的图形站点,需要显示一些文本。当有换行符时,垂直行距不必要地大,这使得文本被绘制在图形项目之外。我一直在寻找一种在QGraphicsTextItem上设置行距(或高度)的方法,但运气不好

我试过了

setHtml("<div line-height=100%>some text</div>") 

这是Python/py边,但其他API与C++完全一样。HTML当前作为参数“text”传递到init方法中。QGraphicsTextItem的父项是QGraphicsItem

请帮忙,这真是个麻烦


干杯,拉尔斯

当项目html代码中的

导致换行时,不会再现此行为。使用
“test1 test2”
内容和
setTextWidth
自动换行也可以正常工作。但是当断线是由

标记引起时,就会出现不必要的大行高度。我想这是你的情况。它可以很容易地修复:

item->document()->setDefaultStyleSheet("p { margin: 0; }");

请注意,您需要在设置项目内容之前调用它。此命令不会影响当前内容。

我不确定您是否在谈论相同的内容,因为我发现QGraphicsItem没有“document”方法。我使用的是autobreak和setTextWidth,同时“边距”设置文本周围的空间,同时我希望减少行之间的垂直距离。
document
QGraphicsTextItem
对象的一种方法,该对象由
qgraphicscenscene::addText
返回。使用
setTextWidth
不会为我重现此问题。你能发布一些你当前实现的代码吗?补充,我对QGraphicsSitem/QGraphicsTextItem的不好误解重温这个问题(我的盘子里有很多):在自动换行“test1 test2”后,边距移动/挤压文本,但不会改变行之间的垂直距离?我应该多解释一下吗?这不可能吗?
item->document()->setDefaultStyleSheet("p { margin: 0; }");