【发布时间】:2014-05-30 22:04:49
【问题描述】:
如何获取 QLineEdit 的文本边距?
注意截图中的红线,这是我感兴趣的边距:
我尝试使用屏幕截图中的编辑框qDebug() << ui->lineEdit->textMargins();,但它打印了QMargins(0, 0, 0, 0),即使编辑框确实有边距。
【问题讨论】:
-
最终这是字体大小和小部件大小之间的空间?您可能可以通过字体大小(QFontMetrics)和可用高度来计算。 textMargins() 方法返回为边距保留的可用空间,边距为 0 并不意味着您的字体总是会碰到边框。
-
这可以解释垂直边距,但不能解释水平边距。另外,水平的可以消失,见i.stack.imgur.com/9mD13.png
-
为什么需要这些信息?也许有其他方法可以在不获取此值的情况下解决您的问题。
-
@MarekR 我需要计算给定字符的绝对边界框。为什么我需要那个?说来话长。