QTEXTEDIT更改控制字符



我遇到了我不想遇到的qt小部件qtextedit,qplaintextedit等。我实际上不知道如何更改此问题。

我想用一些文本来构图,将一个Unicode字符替换为另一个Unicode字符,即使它是控制的。

所以我以这种方式来弄清一个简单的字符串: QChar ch = (QChar)0x20; QChar ch2 = (QChar)0xA0; QString str; str.append(ch); str.append(ch2);

这些是通常的空间(0x20)和一些不寻常的无破坏空间(0xa0)。在内存中,弦绝对是完美的。但是,如果我将其设置为具有ui->txt_ciphered->setPlainText(str);的QTEXTEDIT文本,则此不突破空间(0xa0)成为通常的空间。我想那是因为它们是出于某些类似的目的,但我仍然想在Textedit中获得无破的空间字符,以便我可以复制它等。

我该如何更改?

QTEXTEDIT不接受非破裂空间,为什么?我怎么能够 仍在使用QT编辑控件的非断点空间?

问题在于qtextedit :: plaintext属性表达了防止非断裂空间被插入并将其转换为仅空间字符。

明文:QString

此属性获取并将文本编辑器的内容设置为纯文本。 删除了以前的内容,并在 设置属性。

如果文本编辑具有另一种内容类型,则不会替换 纯文本如果您调用toplaintext()。唯一的例外是 非破裂空间NBSP;,将转换为标准 空间。

建议:使用qtextedit :: setText。

如果它仍然进行不需要的转换或不正确处理该符号,则需要在html标签或 <html>My&nbsp;text</html>的信封中插入包含 &nbsp;的文本来选择QTextEdit::setText的HTML测试形式。

相关内容

  • 没有找到相关文章

最新更新