Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt GUI _ QTextEdit.toPlainText().toAscii() возвращает "? ? ?." вместо строки.

Автор: niXman 9.8.2008, 22:21

Доброго времени суток.
Нужно получить текст из QTextEdit.

QByteArray buf;
buf = QTextEdit.toPlainText().toAscii();

Но в buf только вопросительные знаки. В чем трабла?

Автор: Litkevich Yuriy 9.8.2008, 23:33

видимо что-то с кодировками, текст в QTextEdit на русском?

Автор: niXman 10.8.2008, 0:15

Цитата(Litkevich Yuriy @ 10.8.2008, 0:33) *
текст в QTextEdit на русском?
Да.

Автор: Novak 10.8.2008, 0:32

Кодек какой используется? Если никакой, то нужно определить, иначе можно будет работать корректно только с latin-символами.

Автор: niXman 10.8.2008, 0:52

Novak, Никакой. Как назначить кодек?

Автор: Novak 10.8.2008, 1:00

Угу, по документации, если кодек не назначил, toAscii(); будет работать как toLatin(). А тут, сам понимаешь. притеснения русских букв)

Автор: kalombo 10.8.2008, 7:19

Цитата(niXman @ 10.8.2008, 0:52) *
Novak, Никакой. Как назначить кодек?

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("cp1251"));

Автор: niXman 10.8.2008, 10:05

kalombo, Спасибо. Вопрос решен.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)