如何更改用于QTextOption.ShowTabsAndSpaces的字符?

时间:2015-05-12 00:14:11

标签: python qt python-3.x pyqt4

有没有办法改变哪个字符用于QT的QTextOption.ShowTabsAndSpaces标志?

我发现用于查看空格(特别是空格)的默认字符突出显得有些过分。我想改变使用的字体或字符,以便它不那么明显。

看起来使用的字符是unicode“Middle Dot”,·(U + 00B7),我想使用U + 02D1 ˑ

理想情况下,我希望能够将其设置为用户想要的任何内容。

我一直在搜索Qt文档,并且只能找到如何打开此标记(here)。

编辑:

我想我应该展示一些代码......以下是我目前正在添加空白指标的方法:

opts = self.document().defaultTextOption()
opts.setFlags(opts.flags() | QTextOption.ShowTabsAndSpaces)
self.document().setDefaultTextOption(opts)

运行Python 3.4和PyQt4,但应该能够移植C ++代码。

EDIT2:

感谢Andrei Shikalev在下面的回答,我在QT跟踪器上发布了一项功能请求:https://bugreports.qt.io/browse/QTBUG-46072

1 个答案:

答案 0 :(得分:2)

目前我们无法更改标签和空格的字符。这个字符在Qtxt源代码中硬编码为QTextLayout:

QChar visualTab(0x2192);
...
QChar visualSpace((ushort)0xb7);

source for QTextLayout on GitHub中的更多信息。

您可以为制表符和空格自定义字符创建功能请求。恕我直言,此功能对于基于Qt。

的定制编辑器非常有用