Мы разрабатываем приложение Qt Desktop. Приложение может открывать несколько файлов по одному на каждой вкладке, и каждая вкладка (файл) имеет свой контекст. Пользователь может открывать несколько файлов и переключаться между этими вкладками.
например : Например, одна вкладка управления грузовиками, для которой действие (add_Vehicle) на панели инструментов должно отображать всплывающую подсказку «Добавить грузовик», а если другая вкладка относится к управлению автомобилями, то же действие должно отображать всплывающую подсказку «Добавить автомобиль».
Таких вещей много:
Если я удалю грузовик (т. е. «Транспортное средство» на вкладке «Управление грузовиками»), должно появиться окно с сообщением «Грузовик успешно удален». и если автомобиль (т.е. автомобиль из вкладки «Управление автомобилем») удален, должно появиться сообщение «Автомобиль успешно удален».
Есть несколько диалогов, в которых тексты напрямую устанавливаются в QLabels через QtDesinger.
Как возникла эта проблема?
Ранее приложение поддерживало только управление грузовиками, теперь мы добавляем поддержку управления автомобилями в том же приложении. Все сообщения/метки пользовательского интерфейса/подсказки используют «Грузовик». Теперь мы хотим изменить его в соответствии с открытой вкладкой (файлом).
Осуществимое продуманное решение: (не работает во время выполнения)
Все UILabels/ToolTips/Messages являются переводимыми [т.е. написанный с помощью QObject::tr(..)]. Мы подумали об установке QTranslator в соответствии с контекстом вкладки, который будет автоматически менять тексты во всех местах. Установка среды выполнения QTranslator не работает.
Есть ли другой способ сделать это? Или любой указатель/подсказки будут очень полезны.