Size: a a a

2021 January 17

I

ID in Qt
добрый день. выставлял настройки виртуальных com портов через qserialport. они удачны, но если просматривать настройки с помощью stty, они отображаются не измененными. это нормально?
источник

AS

Anatoly Shirokov in Qt
Anatoly Shirokov
Тогда  для своего видгета надо определить обработку languagechange:

void MyWidget::changeEvent (QEvent *event)
{
if (e->type() == QEvent::LanguageChange)
{
titleLabel->setText (tr ("Document Title"));
okPushButton->setText (tr ("&OK"));
}
else
QWidget::changeEvent(event);
}
@rhaut Тогда это используйте
источник

И

Иван in Qt
Anatoly Shirokov
Тогда  для своего видгета надо определить обработку languagechange:

void MyWidget::changeEvent (QEvent *event)
{
if (e->type() == QEvent::LanguageChange)
{
titleLabel->setText (tr ("Document Title"));
okPushButton->setText (tr ("&OK"));
}
else
QWidget::changeEvent(event);
}
Ну по сути у меня чисто retranslateUi вызывается тут. Т.е получается,, надо каждый виджет передергать как и объяснили мне выше?
источник

AS

Anatoly Shirokov in Qt
Иван
Ну по сути у меня чисто retranslateUi вызывается тут. Т.е получается,, надо каждый виджет передергать как и объяснили мне выше?
каждому видгету надо в событии LanguageChange произвести настройку, да
источник

AS

Anatoly Shirokov in Qt
если под "передергиваением" вы понимаете вызов setText, то да
источник

AS

Anatoly Shirokov in Qt
источник

AS

Anatoly Shirokov in Qt
вот раздел соответствующей документации
источник

И

Иван in Qt
Anatoly Shirokov
каждому видгету надо в событии LanguageChange произвести настройку, да
А тогда вопрос. Если в QListWidget заполняется некая история действий. Соответсвенно там нет уверенности что будет именно конкретный текст в любой момент времени.  При смене языка только новый текст отображается на другом языке. Если хочется, чтобы и то что уже вывелось там отображалось на новом языке, придется выгрузить данные оттуда которые были сначала?
источник

AS

Anatoly Shirokov in Qt
Иван
А тогда вопрос. Если в QListWidget заполняется некая история действий. Соответсвенно там нет уверенности что будет именно конкретный текст в любой момент времени.  При смене языка только новый текст отображается на другом языке. Если хочется, чтобы и то что уже вывелось там отображалось на новом языке, придется выгрузить данные оттуда которые были сначала?
ну, конечно, только вы должны будете на уровне приложения предусмотреть перевод того, что выводите в QListView
источник

AS

Anatoly Shirokov in Qt
то есть данные моделей
источник

AS

Anatoly Shirokov in Qt
но это уже совсем иной аспект, прикладной
источник

И

Иван in Qt
Anatoly Shirokov
ну, конечно, только вы должны будете на уровне приложения предусмотреть перевод того, что выводите в QListView
не совсем понял фразу "предусмотреть перевод", это касается наличия самого текста перевода?
источник

AS

Anatoly Shirokov in Qt
например, в своей программе для лаборатории у меня предусмотрен язык интерфейса русский и английский, тогда как модели позволяют пользователю создавать столько языков, сколько он захочет
источник

AS

Anatoly Shirokov in Qt
вот здесь пользователь вводит что захочет:
источник

AS

Anatoly Shirokov in Qt
источник

AS

Anatoly Shirokov in Qt
но сам UI переведен только на два языка
источник

AS

Anatoly Shirokov in Qt
источник

AS

Anatoly Shirokov in Qt
разницу понимаете?
источник

AS

Anatoly Shirokov in Qt
UI - это label, caption в кнопках, текст в фиксированных справочниках и т.п.
источник

AS

Anatoly Shirokov in Qt
а вот то что вы позволяете вводить пользователю - это уже данные моделей
источник