Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2015, 12:29   #1
troyan90
Пользователь
 
Регистрация: 23.06.2011
Сообщений: 54
По умолчанию Qt кодировка в QListWidget

Не очень с Qt дружу, русский текст иероглифами отображаются в QListWidget. Что не так?

Код:
QListWidgetItem *item = new QListWidgetItem();
item->setCheckState(Qt::Checked);
item->setText("Русский текст");
ui->list->addItem(item);
http://s020.radikal.ru/i709/1505/21/90a488bfd2cb.jpg

Последний раз редактировалось troyan90; 11.05.2015 в 12:35.
troyan90 вне форума Ответить с цитированием
Старый 12.05.2015, 09:32   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

QListWidget не причем, проблема глобальнее.

Вообще рекомендуемый способ — не писать такой текст прям в коде, а использовать локализацию https://www.google.com/search?q=qt+localization (не помню как и что там точно называется, смысл в том, что текст будет в отдельных файлах, а в коде только ключи или текст на английском)

Но если очень-очень хочется, то можно так (Qt5):
Код:
item->setText(QStringLiteral("Русский текст"));
И еще тогда исходник желательно сохранять в UTF-8, иначе (если я ничего не путаю) будут кракозябры если скомпилировать программу на компе с не русской локалью.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 12.05.2015 в 11:12.
Alex11223 вне форума Ответить с цитированием
Старый 13.05.2015, 00:03   #3
troyan90
Пользователь
 
Регистрация: 23.06.2011
Сообщений: 54
По умолчанию

Спасибо за ответ. Нашел другое решение:
Код:
item->setText(QString::fromUtf8("Русский текст"));
Цитата:
QStringLiteral
Qt4 у меня
Цитата:
а использовать локализацию
Не хочу заморачиваться. Программа простая, для своих нужд, лишь бы работала.
troyan90 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка kilogram PHP 2 01.07.2012 19:22
QListWidget расположение записей Farrel Qt и кроссплатформенное программирование С/С++ 5 09.06.2011 16:13
QListWidget и QDir для начинающих Farrel Qt и кроссплатформенное программирование С/С++ 1 28.04.2011 04:09
QListWidget как реагировать на добавление элемента Farrel Qt и кроссплатформенное программирование С/С++ 3 20.04.2011 23:33
Кодировка 0479 Общие вопросы по Java, Java SE, Kotlin 1 02.11.2010 03:04