Я должен отображать некоторые специальные символы, такие как ¼, ½ и т. Д. В QTextEdit, которые не находятся на QWERTY-клавиатуре. Я могу ввести эти символы в QTextEdit, а также в состоянии их вставить. Но когда я пытаюсь программно установить эти символы, QTextEdit отображает дополнительный символ «Â».QTextEdit не отображает специальные символы, недоступные на клавиатуре
Эта проблема не возникает при вводе и вставке. Эти символы вводятся с помощью некоторых кодов Alt + [code].
Я использую Qt 4.8 на Windows 8 64bit.
#include<QtGui>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextEdit t;
t.setPlainText("¼2½ \n"); // QTextEdit displays=> ¼2½
// t.setHtml("¼2½ \n"); // QTextEdit displays=> ¼2½
// t.insertHtml("¼2½ \n"); // QTextEdit displays=> ¼2½
// t.insertPlainText("¼2½ \n"); // QTextEdit displays=> ¼2½
// also tried setHtml() with HTML code which works in Firefox didn't help me
t.show();
return a.exec();
}
Как я могу поместить эти символы в QTextEdit программно без этого дополнительного символа?
будет работать на протяжении всего приложения? Как QTextCodec связан с QTextEdit? Я имею в виду, нам не нужна функция setter() в QTextEdit/QApplication. – stackOverflow
Я редактировал свой ансвер. Да, он будет работать во всем мире. QTextCodec устанавливает кодировку для всего приложения, поэтому ее следует установить в main(). В качестве альтернативы см. Вторую часть моего ответа. –