Мультиязычность для готовых форм .ui |
Здравствуйте, гость ( Вход | Регистрация )
Мультиязычность для готовых форм .ui |
AzateQ |
16.4.2011, 22:54
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 12 Регистрация: 16.4.2011 Пользователь №: 2605 Спасибо сказали: 1 раз(а) Репутация: 0 |
Никак не могу разобраться с тем, как выводить готовые формы переведенными...
Создаю в Qt Creator проект, ничего не добавляю, просто пустое окно. Редактирую .pro, добавляя TRANSLATIONS ..._ru.ts Запускаю lupdate, а потом открываю сгенерированный файл в Linguist'е. Он, понятное дело, находить только MainWindow, перевожу его, при этом Linguist в окне "Исходники и формы" корректно отображает имя формы на русском языке... Далее запускаю lrelease, и устанавливаю перевод в main.cpp, потом, как я понимаю, надо подредактировать конструктор, чтобы окно переведенным выходило, но что там писать, я так и не додумался. Если не использовать .ui все работает, но хотелось бы научиться делать это еще и используя Designer... Может я в поисковиках какие-то неправильные запросы ввожу, но ничего толкового на эту тему не нашел... Да и вообще, кругом копипасты немногочисленной информации о работах с формами, зато материалов про добавление виджетов через код пруд пруди... Полистал Шлее, полистал стандартную справку, но ничего полезного так и не нашел... Надеюсь, что хоть тут помогут. |
|
|
Litkevich Yuriy |
16.4.2011, 23:29
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
и устанавливаю перевод в main.cpp как устанавливаешь?потом, как я понимаю, надо подредактировать конструктор ничего не надо, где ты такое прочитал?Может я в поисковиках какие-то неправильные запросы ввожу, но ничего толкового на эту тему не нашел. надо в Асистент смотреть, там всё есть
|
|
|
AzateQ |
17.4.2011, 0:37
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 12 Регистрация: 16.4.2011 Пользователь №: 2605 Спасибо сказали: 1 раз(а) Репутация: 0 |
|
|
|
Litkevich Yuriy |
17.4.2011, 1:44
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
AzateQ |
17.4.2011, 11:05
Сообщение
#5
|
Студент Группа: Новичок Сообщений: 12 Регистрация: 16.4.2011 Пользователь №: 2605 Спасибо сказали: 1 раз(а) Репутация: 0 |
что возвращает? Ну, видимо ссылку на файл ..._ru.qm, который лежит в папке проекта. Потом через installTranslator он устанавливается. И тут внезапно вызывается MainWindow, но без каких-либо указаний на необходимость перевести его... QApplication a(argc, argv); QTranslator tran; tran.load("..._ru"); a.installTranslator(&tran); MainWindow w; w.show(); return a.exec(); И у меня абсолютно никаких мыслей по поводу того, что надо там подправить... |
|
|
RazrFalcon |
17.4.2011, 18:48
Сообщение
#6
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Та же проблема. Как ни пробовал, все равно не подхватывается локализация.
Подключал также как и выше. |
|
|
Litkevich Yuriy |
18.4.2011, 6:42
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
AzateQ, в документацию посмотрите
и напечатайте и приведите сюда результат работы функции работы |
|
|
AzateQ |
18.4.2011, 18:08
Сообщение
#8
|
Студент Группа: Новичок Сообщений: 12 Регистрация: 16.4.2011 Пользователь №: 2605 Спасибо сказали: 1 раз(а) Репутация: 0 |
AzateQ, в документацию посмотрите и напечатайте и приведите сюда результат работы функции работы Я не совсем понимаю, что вы от меня хотете и чего добиваетесь наводящими вопросами... Есть класс формы, созданный Creator'ом, есть файл с переводом, причем подключенный к проекту, потому что обычные виджеты, добавляемые из кода корректно отображают перевод, но ничего этого нет, если подключать форму... Я уже с горя начал добавлять в statusBar Label'ы и явно через setText(tr("...")) пытаюсь вывести хоть что-то, но безрезультатно... И даже в Designer'е менял локализацию с RF на US... Нельзя ли просто показать листинг простенькой стандартной формочки с переведенным заголовком, как его Linguist отображает в предпросмотре?.. Ну 100% я неправильно вызываю форму:
Надо ведь как-то через функцию tr() вызывать, но как, я без понятия... Ну или хотя бы тыкните лицом в то место в мануале, где надо читать. |
|
|
RazrFalcon |
18.4.2011, 22:41
Сообщение
#9
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Посмотрите это.
Этот пример у меня работает, а вот то что я сам писал - нет. |
|
|
AzateQ |
18.4.2011, 23:31
Сообщение
#10
|
Студент Группа: Новичок Сообщений: 12 Регистрация: 16.4.2011 Пользователь №: 2605 Спасибо сказали: 1 раз(а) Репутация: 0 |
Посмотрите это. Этот пример у меня работает, а вот то что я сам писал - нет. Спасибо! Чуть-чуть упростил код по ссылке и все 3 метки стали корректно отображаться. Но ведь там ui грузится из main'а, так что вопрос остается открытым, ибо если грузить User Interface из конструктора класса формы, то ничего не получается... |
|
|
Текстовая версия | Сейчас: 21.1.2025, 17:11 |