![]() |
|
|
![]()
|
|
| Lindemann66 |
|
|||
|
Thinking... ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 2.8.2011 Где: Ульяновск Репутация: нет Всего: нет |
Ещё раз привет всем!
Вопрос следующий Необходимо сменить язык интерфейса во время работы с программой без её перезапуска Слоты смены языка выглядят следующим образом:
Но, на интерфейсе это никаким образом не сказывается Вопрос - динамическая смена языка интерфейса возможна и выполняется так, как я написал, и ошибка где-то у меня, либо нужны какие-то дополнительные действия? буду благодарен за любые ответы! --------------------
stay true |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
Пробежаться по всем виджетам и заново установить текстовые значения. uic для этих целей вроде бы генерировал метод retranslateUi(). Хлопотное дело в общем.
Это сообщение отредактировал(а) Amp - 7.10.2011, 16:57 |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Не нужно самому бегать по виджетам.
Нужно создать своё Application : public QApplication, в нём создать слот changeLanguage, кроме вышеприведённого кода, посылающий сигнал languageChanged. В каждом окне создать слот onLanguageChanged и соединить его с languageChanged приложения. Если окно создано с помощью дизайнера, в этом слоте достаточно вызвать ui->retranslateUi(this); Это сообщение отредактировал(а) math64 - 7.10.2011, 17:44 |
|||
|
||||
| Amp |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 7 Всего: 17 |
||||
|
||||
| math64 |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
В случае, когда виджет создаётся вручную, обычно создаются функции
createActions() createMenu() createToolBar() createWidgets() смотрим: нужно перевести Actions -и меню и тулбар автоматически переведутся. Для каждого действия создаётся при создании такой код:
Заводим в Application метод
И пользуемся этим методов для создания или перевода действий в методе
Аналогично можно переделать createWidgets() Это сообщение отредактировал(а) math64 - 7.10.2011, 21:28 |
||||||
|
|||||||
| Lindemann66 |
|
|||
|
Thinking... ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 2.8.2011 Где: Ульяновск Репутация: нет Всего: нет |
Спасибо всем больше за советы, в понедельник буду пробовать!
--------------------
stay true |
|||
|
||||
| Lindemann66 |
|
|||
|
Thinking... ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 2.8.2011 Где: Ульяновск Репутация: нет Всего: нет |
Вобщем, код основных процедур теперь выглядит следующим образом:
Всё работает
Всем спасибо за ответы! --------------------
stay true |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |