Как использовать * при использовании self в tkinter? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь использовать * с self

вот мой код выбора:

self.choices = glob.glob(os.path.join(self.directory, "*- to sign.jpg"))

и вот мой выпадающий список OptionsMenu Code:

self.popupMenu = OptionMenu(main, self.tkvar, self.*choices, command = func)

, когда я удаляю self из обоих вариантов, все работает нормально.Но с self он не работает, это моя ошибка:

   self.popupMenu = OptionMenu(main, self.tkvar, self.*choices, command = func)
                                                       ^
SyntaxError: invalid syntax

здесь работает код:

choices = glob.glob(os.path.join(directory, "*- to sign.jpg"))

popupMenu = OptionMenu(main, tkvar, *choices, command = func)

и вотКод, который я устал переписывать:

self.choices = glob.glob(os.path.join(self.directory, "*- to sign.jpg"))

self.popupMenu = OptionMenu(main, self.tkvar, self.*choices, command = func)
self.popupMenu.grid(row=1, column=0)

Почему он показывает SyntaxError: неверный синтаксис как self.choices?

1 Ответ

1 голос
/ 26 сентября 2019

Почему он показывает SyntaxError: недопустимый синтаксис как self.choices?

Поскольку это недопустимый синтаксис.* идет перед именем переменной, а не где-то посередине.

OptionMenu(main, self.tkvar, *self.choices, command=func)

Это называется повторяемая распаковка и задокументировано здесь среди других мест: Списки выражений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...