Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/26: Рейтинг темы: голосов - 26, средняя оценка - 4.54
109 / 36 / 3
Регистрация: 08.08.2009
Сообщений: 134
1

Кодировка Qt 5.0.1 в Win7

01.04.2013, 22:35. Показов 4714. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.

Тема может и избитая, но мне совсем непонятно. В новой версии Qt повырезали методы задания кодеков строк и tr() сразу для всего приложения и потому даже простой пример

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <QApplication>
#include <QPushButton>
#include <QTextCodec>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    QPushButton btn("Button кнопочка");
    btn.show();
 
    return a.exec();
}
в Win7 никак не хочет показать русские буквы.
Может кто разбпрался как это реализовать подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2013, 22:35
Ответы с готовыми решениями:

Раздать интернет по локальной сети Win7(64bit) -Win7(32bit)
Всем доброго времени суток. У меня сложилась такая проблемка, надеюсь что не останусь без внимания...

После переустановки win7 basic на win7 ultimate получается ставить только упрощенный стиль
купил компьютер, там была виндовс basic, я хотел переустановить на win7 ultimate, установил но...

При запуске win7 начинается поиск ошибок, после пишет что win7 не может устранить ошибку
При запуске win7 начинается поиск ошибок, после пишет что win7 не может устранить ошибку, пытался...

Сеть Win7 + Win7 + USB модем (МТС)
Не могу подключить 2 компа к одному USB модему Оба компа имеют Win7 Максимальная Конфигурация...

20
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
01.04.2013, 22:51 2
используй utf-8
0
109 / 36 / 3
Регистрация: 08.08.2009
Сообщений: 134
01.04.2013, 22:56  [ТС] 3
А ты не мог бы подсказать поподробнее как это сделать в Creator-e?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.04.2013, 23:19 4
Цитата Сообщение от flack Посмотреть сообщение
в Win7 никак не хочет показать русские буквы.
Так это сначала кодировку в консоли под вин поменяй, а потом свою прогу запускай...
Можно еще батник написать ...

Добавлено через 2 минуты
Смена на UTF-8
Bash
1
chcp 65001
1
109 / 36 / 3
Регистрация: 08.08.2009
Сообщений: 134
01.04.2013, 23:24  [ТС] 5
А есть возможность запустить без смены кодировки в консоле? А то если допустим я для своей программы у пользователя кодировку сменю, то как отреагируют другие программы?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.04.2013, 23:26 6
Так она меняется на время работы с консолью
0
109 / 36 / 3
Регистрация: 08.08.2009
Сообщений: 134
01.04.2013, 23:31  [ТС] 7
А можно как то без батников и прочих дополнительных установок, просто exe файл сделать и всё. Ведь чем больше частей тем вероятнее ошибки?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
01.04.2013, 23:37 8
Ошибки более вероятны из-за местного формата на компе...

Добавлено через 3 минуты
Да и иногда легче исправить ошибки когда прога по частям...
0
109 / 36 / 3
Регистрация: 08.08.2009
Сообщений: 134
02.04.2013, 00:20  [ТС] 9
Формат на компе, другие программы будут требовать другой формат и прога не в смыслее ООП по частям, она получается физически по частям.
Просто предложенный способ больше похож на костыль, чем на нормальное решение, потому и пугает немного
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2013, 01:26 10
Чет я тупанул жестоко и подумал что речь про консоль
Цитата Сообщение от flack Посмотреть сообщение
В новой версии Qt повырезали методы задания кодеков строк и tr() сразу для всего приложения и потому даже простой пример
Да вроде работает tr("") в Qt5 ... а у вас какая версия ?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2013, 01:57 11
Цитата Сообщение от flack Посмотреть сообщение
А ты не мог бы подсказать поподробнее как это сделать в Creator-e?
Держи свои исходники в кодировке UTF-8.
И редактор настрой на UTF-8 :
Миниатюры
Кодировка Qt 5.0.1 в Win7  
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2013, 02:47 12
Насчет того что убрали возможность устанавливать кодировки:

http://www.macieira.org/blog/2... -wants-it/
For Qt’s own source code, we have decreed that the source should be UTF-8 only, and so I proceeded a few weeks ago to find and recode all non-UTF-8 sources. And I’m going even further than that: if you don’t use UTF-8 for your source code, you’ll be on your own. Though it’s possible to make it work, do not ask us for help and do not expect us to add convenience functions. I am also discarding any arguments of the form “my editor/IDE/OS/environment does not support UTF-8″. This is 2012 and we live in a global world, with global data. Any such editor or environment should be left where it belongs: in a museum dedicated to the 80s and 90s.
1
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
02.04.2013, 09:32 13
что значит убрали ? http://qt-project.org/doc/qt-5... codec.html вот тут все есть.....
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
02.04.2013, 10:44 14
Чистый, нет метода setCodecForTr
0
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
02.04.2013, 10:50 15
flack, А такое не помогает?:
C++ (Qt)
1
2
3
QTextCodec::setCodecForTr(QTextCodec::codecForName("System"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("System"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("System"));
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
02.04.2013, 10:59 16
solar_wind, нету в Qt5 setCodecForTr.
Есть QObject::trUtf8
0
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
02.04.2013, 11:02 17
Dmitriy_M, Ну и хрен с ним. Зато остались setCodecForCStrings и setCodecForLocale, их вполне всегда хватало.
0
109 / 36 / 3
Регистрация: 08.08.2009
Сообщений: 134
02.04.2013, 12:11  [ТС] 18
solar_wind, и нет мтода setCodecForCStrings. Только для локали осталось и это не спасает

Avazart
, я пробовал сохранять в UTF-8, как ты советовал, всё равно не помогает.

Чистый, ты не мог бы уточнить по описанию в Assistance - получается теперь для отображения нужно использовать методы toUnicode и fromUnicode? Но тогда кажется теряется интернационализация через tr("") или я что-то не правильно понимаю?
0
Автор FAQ
2732 / 1428 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
02.04.2013, 14:12 19
судя по документации касательно tr() ничего не поменялось http://qt-project.org/doc/qt-5... ation.html
1
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
02.04.2013, 15:47 20
tr() есть как и был, в QTextCodec нет методов для учета кодировки исходников http://qt-project.org/doc/qt-5... codec.html
Т.е tr() теперь только для переводов на др. языки.

Добавлено через 3 минуты
Цитата Сообщение от flack Посмотреть сообщение
Avazart, я пробовал сохранять в UTF-8, как ты советовал, всё равно не помогает.
Ну не знаю как вы так умудрились...
Я ставил Qt5/QtCreator там изначально кодировка в редакторе UTF-8 стояла и проблем не было, ( как с Qt4.x).
1
02.04.2013, 15:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2013, 15:47
Помогаю со студенческими работами здесь

Сеть Win7 + Win7 + i-net через pppoe
Вообщем дела обстоят так... Шнур витая пара Один комп (назовем #1) c двумя картами на борту, одна...

Настройка Интернета и сети (домашняя) Win7 c Win7
Привет. Делал я как-то сеть с интернетом между 2е семерки. И повторить не могу. Так же лазил по...

Переустановка win7-32 на win7-64, выдает ошибку
Есть потребность поставить win7-64, но установщик выдает ошибку. Пишет что &quot;Программе установки не...

Переход с Win7 x32 на Win7 x64
как провести переход с Win7 x32 на Win7 x64 с наименьшими потерями - не хотелось бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru