matMenuTrigger для двойного щелчка не работает вместе

ключевые слова с шаблоном __ * являются частными именами классов.

http://docs.python.org/reference/lexical_analysis.html#reserved-classes-of-identifiers

Цитата:

Имена этой категории, используемые в контексте определения класса, переписываются, чтобы использовать искаженную форму, чтобы избежать конфликтов имен между «частными» атрибутами базового и производного классов

Частное имя mangling (выделено мной):

Управление частным именем: когда идентификатор, который имеет текстовое значение в определение класса начинается с двух или более символов подчеркивания и не заканчивается двумя или более символами подчеркивания, оно считается частным именем этого класса. Частные имена преобразуются в более длинную форму до того, как для них генерируется код. Преобразование вставляет имя класса перед именем, с удалением ведущих подчеркиваний и одним подчеркиванием, вставленным перед именем класса. Например, идентификатор __spam, входящий в класс с именем Ham, будет преобразован в _Ham__spam. Это преобразование не зависит от синтаксического контекста, в котором используется идентификатор. Если преобразованное имя чрезвычайно длинное (длиннее 255 символов), может быть реализовано определенное усечение. Если имя класса состоит только из символов подчеркивания, преобразование не выполняется.

http://docs.python.org/reference/expressions.html#atom-identifiers

Это означает, что за кулисами B.__a() преобразуется в нечто вроде B._B__a()

1
задан user3458271 5 March 2019 в 13:13
поделиться