Qt
обеспечивает мощный адаптивный способ борьбы с left-to-right
языков и right-to-left
языков texts.But я сталкиваюсь мои проблемы, касающиеся моих целей.Как сделать символы справа налево (например, арабские), которые ведут себя как языки слева направо в qt?
Изображение № 1 То, что я хочу, чтобы получить
рисунок № 2 Что я получил, когда пасту на мой основе виджета QTextEdit
какие изображения нет .1 показывает
Фото № 3 Что я получил, когда я установил текст-направление влево-вправо, как показано ниже:
QTextDocument *doc = ui->textEdit->document();
QTextOption textOption = doc->defaultTextOption();
textOption.setTextDirection(Qt::LeftToRight);
doc->setDefaultTextOption(textOption);
ui->textEdit->setDocument(doc);
Making it left-to-right aligned is not that hard,
but the result differs from what picture no.1 shows.
Изображение No.4 Что я получил, когда я пытаюсь добавляющим тексты к терминалу
What I want to achieve is the fact that it shows like picture no.1 does,
and key-strikes make texts appended to the terminal
when the existting texts is terminated by a Arabic notation.
In a word,all I want is that it behave like left-to-right languages do
whether it contains right-to-left language characters or not.
Если QT полностью поддерживает Unicode, вы можете попробовать специальный символ, который находится слева направо: http://www.w3.org/International/questions/qa-bidi-controls – VahidN
@VahidN Спасибо за вашу идею. – waterd
Вы пытались отправить событие клавиатуры Qt :: Key_Direction_L на свой виджет, чтобы узнать, помогает ли он. Например: http://stackoverflow.com/questions/27517981/how-to-display-arabic-notations-in-left-to-right-direction-in-qlineedit-qlabel-e/27518579#27518579 – Nejat