Как отобразить арабские записи в направлении слева направо в QLineEdit / QLabel и т. Д.?
В реализации Qtarabic notations
показано вright-to-left
направление, таким образом, любые строки, которые содержатarabic notations
будетright-alignment
.
Но мое приложение хочет показать все тексты вleft-to-right
направление, содержит ли оноarabic notations
или нет. И все тексты естьleft-alignment
.
Пример показан ниже:
То, чтопервая картинка показывает то, что я хочу реализовать. Вторая картинка показывает, какQLineEdit
отображать тексты, содержащиеarabic notations
по умолчанию, а третий показывает, какQLabel
сделай это.
РЕДАКТИРОВАТЬ:
Вставьте тестовую строку сюда. ە 抠门 哥 ە (
РЕДАКТИРОВАТЬ: Предоставление решения изменить.
Наконец я могу достичь своей цели примерно с помощьюQTextEdit
который имеетQTextDocument
Следующий фрагмент кода показывает, как я это сделал. Но я понятия не имею, как Qt справляется с направлением текста с глобальной точки зрения, поэтому я не могу достичь своей цели с помощьюQLabel
так далее..Это не может быть лучше, если кто-то может дать некоторую подробную информацию оQt's text engine
.
QTextDocument * doc = ui-> textEdit-> document ();
QTextOption textOption = doc-> defaultTextOption ();
textOption.setTextDirection (Qt :: LeftToRight);
doc-> setDefaultTextOption (textOption);
ui-> textEdit-> setDocument (док);