2013-12-08 5 views
0

Длина курсора изменяется при вводе слова, и длина становится такой же, как и слово. Как установить QPlainTextEdit?Почему изменяется длина курсора при вводе в QPlainTextEdit?

self.setFont(QFont("Consolas", 10, QFont.Normal)) 

Я установил семейство шрифтов css «Консола», и когда я вводил английские слова, проблем нет. (Я выделяю номер строки, потому что, когда я получаю скриншот курсор исчезнет)

first image

Но когда я ввод китайского слово (слово это выше, чем английское слово), проблема возникает.

second image

Как вы можете видеть, китайские раковины слова (высота линии стали выше и сток линии): это странно.

third image

Эффект выше изображения в Sublime Text это то, что я хочу.

+0

Что вы подразумеваете под «длиной курсора»? Выбор? Код, который вы отправили, не «вводит слово». Просьба представить фактический код, который показывает проблему. – ekhumoro

+0

Это было бы более полезно для нас, если вы разместите снимок экрана. – qurban

+0

@ekhumoro Я обновляю вопрос, вы можете ввести китайское слово (中国) в QPlainTextEdit для теста. – WangTao

ответ

1

Я думаю, что нет проблем с QPlainTextEdit. Вы видите эту проблему, потому что вы сравниваете китайские буквы с строчными английскими буквами:

Посмотрите:

中国asdsd

Эти английские буквы выглядят маленькими по сравнению с китайскими, но:

国中ASDFASD

В этом случае они выглядят одинаково. Попробуйте в вашем QPlainTextEdit, я попробовал, все в порядке :)

+0

В div shackoverflow, когда вы вводите китайские буквы, курсор не изменяется. Но в 'QPlainTextEdit' курсор примет некоторые изменения, курсор опустится. Кажется, что высота строк, которые включают в себя китайские буквы, выглядит лагером. Как я могу контролировать высоту строки в' QPlainTextEdit', я не нахожу путь к делать эту вещь в 'QFont' и' QFontMetrice' – WangTao