如何更改用于QtexOption.ShowTabsAndSpaces?

2024-09-30 22:16:45 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我发现用于查看空白(特别是空格)的默认字符有点太突出了。我想改变使用的字体或字符,这样就不那么明显了。在

看起来使用的字符是unicode“中间点”·(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++代码移植到上面。在

编辑2:

多亏了Andrei Shikalev下面的回答,我已经在QT tracker上发布了一个特性请求:https://bugreports.qt.io/browse/QTBUG-46072


Tags: 代码self编辑标志unicode字体qt字符
1条回答
网友
1楼 · 发布于 2024-09-30 22:16:45

目前我们无法更改制表符和空白字符。在QTextLayout的Qt源中硬编码以下字符:

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

更多信息请参见source for QTextLayout on GitHub。在

您可以为制表符和空白自定义字符创建功能请求。IMHO这个特性对于基于Qt的定制编辑器非常有用。在

相关问题 更多 >