Непонятно, как PySide6-lupdate определяет контекст для метода tr.Python

Программы на Python
Anonymous
Непонятно, как PySide6-lupdate определяет контекст для метода tr.

Сообщение Anonymous »

При попытке создать ts-файлы с помощью PySide6-lupdate я обнаружил следующую ситуацию:
Упрощенный код Python выглядит следующим образом

Код: Выделить всё

from PySide6.QtCore import QObject

class Foo(QObject):
def info(self):
return self.tr('inside')

Bar = Foo()
Bar.tr('outside')

self = Foo()
self.tr('special one')
И это соответствующее содержимое в файле .ts, созданное PySide6-lupdate

Код: Выделить всё

Bar


outside




Foo


inside




special one



Контекст tr описывается следующим образом:
  • В определении класса контекст — Foo то же, что имя класса
  • Для экземпляра Foo с именем переменной Bar контекстом является Bar, который является именем переменной.
    Точнее, для экземпляра Foo с именем переменной self контекст снова будет Foo.
Мне хотелось бы знать, в чем разница и как убедиться, что контекстом метода tr является имя класса.

Подробнее здесь: https://stackoverflow.com/questions/783 ... -tr-method

Вернуться в «Python»