Я пытаюсь закодировать программу с обычным файловым меню. (например, Файл, Редактировать, Просмотреть и т. д.).
Я хочу, чтобы действие, которое они выполняют в этом меню, обновляло мою строку состояния (метку).
Проблема в том, как у меня сейчас настроена система, я полагаю, что она выполняет команду, а затем пытается принять результат за то, что он должен делать.
В настоящее время пункт меню определен так:
fileMenu.add_command(label="Insert", command=self.statusUpdater(statusLabel,"Insert Triggered")
И функция statusUpdater определяется так:
def statusUpdater(self,status,commandName):
status.config(text=commandName)
status.update_idletasks()
Таким образом, проблема заключается в том, что в самом начале программы статус меняется на «Вставить сработавший». То, что я хочу, это для того, чтобы быть счастливым только после того, как я фактически нажал «Вставить»
Из подсказок, которые я видел в других местах, кажется, что мне нужен какой-то способ, чтобы передать и обработать событие нажатия Insert.
Может ли кто-нибудь предоставить общую и базовую функцию, которая выполняет то, что я спрашиваю? Я думаю, что проблема заключается в (), прикрепленном к командной функции, но я не знаю другого способа передачи аргументов.
Все, что мне нужно, - это функция, которая вызывается при событии click и знает, какая команда fileMenu запустила его.
Спасибо!