2

Qtleft-to-right言語と言語のテキストを処理するための強力な適応方法を提供しますright-to-left


写真No.1 手に入れたいもの
画像1番


写真 No.2ベースのウィジェットに貼り付けたときに得たもの 写真 No.1 が示すものQTextEdit
画像2


写真 No.3 以下のようにテキストの方向を左から右に設定したときの結果:

QTextDocument *doc = ui->textEdit->document();
QTextOption textOption = doc->defaultTextOption();
textOption.setTextDirection(Qt::LeftToRight);
doc->setDefaultTextOption(textOption);
ui->textEdit->setDocument(doc);

画像3

左から右に並べるのはそれほど難しいことではありません
が、1 番の写真とは結果が異なります。

写真No.4 端末にテキストを追加してみた結果
画像4


私が達成したいのは、写真1のように表示
され、キーを押すと、既存のテキストがアラビア語表記
で終了するときにテキストが端末に追加されるという事実です。一言で言えば、私が望むのは、 右から左への言語文字が含まれているかどうかにかかわらず、左から右への言語のように動作することだけです。

4

1 に答える 1

2

Unicodeはそれを提供しDirectional Formatting CharactersQtそれをうまくサポートします.アイデアは@VahidNから来ています.私の問題はこの方法で部分的に解決され、双方向文字列が適切に表示されるようになりました.

QString(QChar(0x200E))+strText; //LRM
QString(QChar(0x202D)) + strText + QString(QChar(0x202C)); //LRO...PDF

この質問の前に、別の質問に答えました。これは、独自の解決策を見つけるのに役立つかもしれません。

于 2014-12-26T07:08:48.893 に答える