Я столкнулся с некоторой особенностью в Qt-виджетах QTextEdit, QPlainTextEdit и т. Д., С которыми мне бы не хотелось столкнуться. И я действительно понятия не имею, как изменить эту проблему.QTextEdit изменяет управляющие символы
Я хочу зашифровать некоторый текст, заменив один символ Юникода на другой символ юникода, даже если он управляет одним.
Так что я delcare простой строки так: QChar ch = (QChar)0x20; QChar ch2 = (QChar)0xA0; QString str; str.append(ch); str.append(ch2);
Это обычные пространства (0x20) и некоторые необычные Неразрывный пробел (0xa0). В памяти строка абсолютно идеальна. Но если я установил его как текст QTextEdit с ui->txt_ciphered->setPlainText(str);
, это пространство без разрыва (0xA0) станет обычным пространством. Я думаю, это потому, что они предназначены для некоторых аналогичных целей, но я все еще хочу получить символ «Без пробела» в TextEdit, чтобы я мог копировать его и т. Д., Как я могу в Notepad ++ в примере.
Как я могу это изменить?
Если вам нужен редактор обычного текста общего назначения, вам может потребоваться использовать QScintilla или somesuch. 'QTextEdit' - не обычный текстовый редактор общего назначения. Это, по дизайну, богатый текстовый редактор. Qt на самом деле не поставляется с текстовым редактором :( –