2

我无法使 QTextEdit 中的选项卡与一些空格的大小相同,比如 4。

我在 Mac 上使用 Qt 4.8.1,并且尝试了几种不同的等宽字体。在每种情况下,我都尝试使用 fontMetrics.width() 和 fontMetrics.boundingRect().width()。传入 ' ' 并乘以 4 并传入 " " 会返回一致的大小,但是当我设置制表位宽度时,它会稍微偏离。更糟糕的是,错误会累积。如果我键入 6 个制表符,并且在下面键入 6 * 4 个空格,则光标最终会出现在一个截然不同的位置。

即使手动调整数字,我也无法找到完全匹配并保持制表符和等效空格一致的整数像素。

有没有其他人遇到过这个问题?除了用空格替换制表符之外,您是否找到了解决方案?

4

2 回答 2

0

你试过用这个吗?

QFontMetrics::tightBoundingRect("    ")

我在这里找到了建议,但不幸的是它没有提到它是否成功: http: //lists.qt.nokia.com/pipermail/qt-interest/2009-June/007924.html

请让我知道它是否适合你:)

于 2012-09-27T14:02:28.423 回答
0

我和你有同样的问题,我调用setTabStopWidth(4 * fontMetrics().width(' '));QPlainTextEdit 构造函数。但是当我在它的构造函数之后调用它时,它可以工作!我不知道它背后的魔力......

于 2015-06-14T12:44:17.680 回答