Russian Qt Forum
Ноябрь 22, 2024, 21:17
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Интернационализация, локализация
>
Русский язык в редакторе форм под VS2003
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Русский язык в редакторе форм под VS2003 (Прочитано 9677 раз)
LamerDrv
Гость
Русский язык в редакторе форм под VS2003
«
:
Июль 26, 2005, 08:13 »
Проблема с отображением русских букв.
Когда делаю проект на QT4.0.0 в Visual Studio херяться русский буквы в визуальных элементах (таких как QButton, QLabel).
Размещаю элемент, пишу ему caption по-русски, вроде нормально. Затем закрываю и основа открываю форму и вместо русских букв - карозяболы. При запуске проги тоже карозяболы.
Такое впечатление, что проблема вызвана использованием неправильной кодовой страницы при чтении ui-файла QT-шными утилитами. Т.е., возможно, когда при редактировании формы в VS2003 пишу русские символы используется Win1251, а при последующем открытии ui-файла для редактирования формы (или его обработке uic-ом) - используется utf-8.
Подскажите, пожалуйста, куда копать?
Записан
LamerDrv
Гость
Русский язык в редакторе форм под VS2003
«
Ответ #1 :
Июль 27, 2005, 12:40 »
Народ, неужели никто не использует Visual Studio 2003 вместе с QT.
Мне кажеться эти грабли должны лежать на поверхности, в том смысле, что на них сразу настпупаешь как только создаешь на форме виджет с русским текстом.
Редактор форм и uic действительно обрабатывают xml-ный ui-файл как utf-8. При этом русский текст записывается в этот файл как Windows-1251.
Единственный способ которым мне пока удалось добиться нормальной работы программы - это вручную преобразовать ui-файл в UTF-16 и нажать компиляцию. Но это не годиться, потому что как только открываешь форму в редакторе и сохраняешь - ui-файл опять становится utf-8. Включить в файл явное указание кодировки нельзя, потому что uic ожидает, что самым первым тэгом дложен быть "ui version".
Интересно как заставить редактор форм помещать национальные символы в ui-файл в правильной кодировке?
Помоги-и-и-те-е-е ! Пожалуйста.
Записан
KOSchMAR
Гость
Русский язык в редакторе форм под VS2003
«
Ответ #2 :
Июль 27, 2005, 15:32 »
Цитировать
Народ, неужели никто не использует Visual Studio 2003 вместе с QT.
2003 то используют , но на QT4 перешли не все
Visual Studio 2003 c QT 3.3.3 все нормально
Записан
LamerDrv
Гость
Русский язык в редакторе форм под VS2003
«
Ответ #3 :
Июль 28, 2005, 15:46 »
Так вообще у кого-нибудь редактор форм интегрированный в Visual Studio обрабатывает нормально русский текст? (Я имею ввиду интегратор от QT4 ). Или народ использует отдельный дизайнер?
Пока что из-за желания делать проект польностью в Visual Studio (включая рисование форм) пришлось патчить. Но все еще надеюсь что есть нормальный (в смысле штатный способ) разрулить работу с русским языком.
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Русский язык в редакторе форм под VS2003
«
Ответ #4 :
Июль 28, 2005, 17:50 »
А если ГУИ на инглише делать, а потом в Лингвисте ленгвич-паки лабать?
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
LamerDrv
Гость
Русский язык в редакторе форм под VS2003
«
Ответ #5 :
Июль 29, 2005, 07:22 »
Цитата: "Racheengel"
А если ГУИ на инглише делать, а потом в Лингвисте ленгвич-паки лабать?
Тогда, конечно, все будет нормально. Но, очень не хочется делать двухязыковой интерфейс, сейчас не стоит такая задача (хотя это, конечно, полезно для общего развития). А даже если такая задача и появится, хотелось бы изначально делать русский, а уж потом в Лингвисте английский ленгвич-пак слабать. Все-таки думаю я по-русски
.
З.Ы:
Пока что пришлось сделать специальную версию qtcore4.dll, в которой реализация QTextStream по-дефолту выполняет перекодировку в utf8 и положить эту dll-ку в подкаталог bin интегратора. Вроде стало нормально. (Designer.exe выполняет такую перкодировку явно при сохранении ui-файла. А вот в интеграторе, если дизассемблер не врет, это сделать забыли). Если если кому-нибудь надо ...
Записан
SLiDER
Гость
Русский язык в редакторе форм под VS2003
«
Ответ #6 :
Июль 29, 2005, 21:00 »
Я бы, в принципе, не отказался от такой ДЛЛки.
Записан
LamerDrv
Гость
Русский язык в редакторе форм под VS2003
«
Ответ #7 :
Июль 30, 2005, 08:44 »
Цитата: "SLiDER"
Я бы, в принципе, не отказался от такой ДЛЛки.
Ловите. :wink:
В конец конструктора QTextStream::QTextStream ( QIODevice * device ) я добавил строки (в файле qtextstream.cpp):
if (device->openMode() == QIODevice::WriteOnly)
setCodec(QTextCodec::codecForName("UTF-8"));
После вносения указанного изменения, пересобрал qtcore4.dll (запускал qmake и namke из папки <QTDIR>\src\corelib, чтобы пересобрать только qtcore4.dll, а не все dll-ки). Скопировал полученную qtcore4.dll из <QTDIR>\bin в интегратор
(в директории <QTDIR>\bin восстановил оригинальную версию qtcore4.dll).
Суть патча в том, что если входной параметр device представляет
утсройство открытое в режиме только для записи то для устанавливается текстовог потока принудительно задается кодек utf-8.
З.Ы.: В принципе могу выслать готовую dll-ку.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...