Russian Qt Forum
Сентябрь 21, 2024, 12:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Контекстное меню QLabel  (Прочитано 5468 раз)
Alexander_57
Гость
« : Декабрь 14, 2011, 14:15 »

Добрый день специалисты Qt!
Столкнулся со следующей проблемой. Создал QLabel со свойством выделения текста:

    QLabel *pLabelEmail = new QLabel(QString("Email: primer<собака>gmail.com"));
    pLabelEmail->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);

В Visual Studio и Qt Creator контекстное меню pLabelEmail на английском языке (рис 1.).

Вопрос: как сделать это меню на русском? Кстати в Qt Designer это меню на русском (рис. 2).
Записан
_OLEGator_
Гость
« Ответ #1 : Декабрь 14, 2011, 14:20 »

Изучить интернационализацию приложений и использовать перевод на русский из %QTDIR%\translations
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #2 : Декабрь 14, 2011, 14:22 »

Нужно подгрузить Qt-ишные трансляции. См. здесь.
Записан

Qt 5.11/4.8.7 (X11/Win)
Alexander_57
Гость
« Ответ #3 : Декабрь 14, 2011, 15:08 »

_OLEGator_ и GreatSnake большое спасибо за оперативную помощь.

Для тех, кто столкнётся с такой же проблемой, вот как я сделал:
1. В исходниках Qt нашёл файл qt_ru.qm и закинул в папку со своей программой.
2. В коде прописал следующее:

QTranslator *pTranslator = new QTranslator(this);
if (pTranslator->load("qt_ru.qm", "."))
   QCoreApplication::installTranslator(pTranslator);
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #4 : Декабрь 14, 2011, 15:35 »

Можно qt_ru.qm в ресурсы зашить, если не планируете редактирование отдельно от исполняемого файла.
Записан
Alexander_57
Гость
« Ответ #5 : Декабрь 15, 2011, 07:27 »

Спасибо LisandreL. Действительно, для меня это наиболее выгодный вариант.
Вот как я сделал в этом случае:
1. В исходниках Qt нашёл файл qt_ru.qm и закинул в папку "Resources" (Visual Studio).
2. В файле ресурсов .qrc прописал следующее:

<RCC>
    <qresource prefix="/">
   <file>Resources/qt_ru.qm</file>
    </qresource>
</RCC>

3. В коде прописал следующее:

QTranslator *pTranslator = new QTranslator(this);
if (pTranslator->load(":/Resources/qt_ru.qm"))
   QCoreApplication::installTranslator(pTranslator);
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #6 : Декабрь 15, 2011, 11:30 »

2. В файле ресурсов .qrc прописал следующее:
а зачем писать руками если есть удобный редактор ресурсов?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.097 секунд. Запросов: 23.