Russian Qt Forum
Ноябрь 23, 2024, 07:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: вывод кириллицы из виджета Line Edit  (Прочитано 6751 раз)
Modest52RUS
Гость
« : Январь 14, 2010, 04:31 »

Скажу сразу, я не очень долго прогаю в QT и эта проблема для меня оказалась неразрешимой.

Создал окно с вопросом. Ответ на вопрос вводится в виджет Line Edit с названием FIO. Ответ вводится кириллицей. Как мне считать этот кириллический ответ, чтобы потом его можно было записать в файл или хотябы отобразить с помощью qDebug()? Непонимающий

Сам считываю так:
QByteArray FIO1;
string FIO2;
FIO1 = ui.FIO->text();
FIO2 = ui.FIO->text();

Если ввожу ответ латиницей, то записывает нормально, если кириллицей, то ответ  - знаки вопроса.(кириллица не отображается)

Возможно как-то надо использовать метод tr():
#include <qtextcodec.h>

QTextCodec *russian =QTextCodec::codecForName("CP1251");
QTextCodec::setCodecForTr(russian);   
Но, как - я понять не смог.  Грустный
« Последнее редактирование: Январь 14, 2010, 04:35 от Modest52RUS » Записан
Marat(Qt)
Гость
« Ответ #1 : Январь 14, 2010, 04:39 »

QString FIO2;
FIO2=ui.FIO->text();

Читайте Макса Шлее или Жасмин Бланшет. Очень полезно начинать с подобных книжек
Записан
Modest52RUS
Гость
« Ответ #2 : Январь 14, 2010, 04:50 »

Спасибо за заметку, конечно QString - описался. 
Книга хорошая, не спорю, но ответа на мой вопрос там нет.
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Январь 14, 2010, 05:03 »

Выполни поиск по разделу форума Интернационализация, локализация на предмет QTextCodec
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Modest52RUS
Гость
« Ответ #4 : Январь 14, 2010, 11:25 »

Вообщем раскурил. Помогла такая штука:
 QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());

 Улыбающийся
Записан
Dendy
Гость
« Ответ #5 : Январь 14, 2010, 11:55 »

Вам не нужны никакие кодеки, всё уже в Unicode. Записать в файл так:

Код
C++ (Qt)
QFile file( "answer.txt" );
file.open( QIODevice::WriteOnly );
QTextStream ts( &file );
ts << lineEdit->text();
Записан
Modest52RUS
Гость
« Ответ #6 : Январь 14, 2010, 12:41 »

Спасибо Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.135 секунд. Запросов: 23.