在Qt的实现中,阿拉伯符号以从右到左的方向显示,因此包含阿拉伯符号的任何字符串都将右对齐。
但是我的应用程序想要做的是将所有文本都显示为从左到右的方向,无论是否包含阿拉伯符号。并且所有文本都是左对齐的。
下面是一个示例:
但是我的应用程序想要做的是将所有文本都显示为从左到右的方向,无论是否包含阿拉伯符号。并且所有文本都是左对齐的。
下面是一个示例:
编辑:
将测试字符串粘贴到此处。ە抠门哥ە(
编辑:
提供另一种解决方案。
最终,我可以通过使用具有QTextDocument
的 QTextEdit
来大致实现我的目标。下面的代码片段展示了我是如何做到的。但我不知道Qt如何从全局角度处理文本方向,因此我无法通过使用 QLabel
等来实现我的目标...如果有人能提供关于Qt文本引擎的详细信息,那就太好了。QTextDocument *doc = ui->textEdit->document();
QTextOption textOption = doc->defaultTextOption();
textOption.setTextDirection(Qt::LeftToRight);
doc->setDefaultTextOption(textOption);
ui->textEdit->setDocument(doc);