Команда удаления меню Python Tk, Menu.reDraw ()? - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть виджет меню TK, и я хочу удалить команду при нажатии после выполнения каких-либо побочных эффектов.Весь код относится к классу DocumentView, поэтому self.varnames

self.root= Tk()
self.root.title("Document Screen")
self.root.geometry(str(DocHeight)+"x"+str(DocHeight))

self.mainMenu = Menu(self.root)
self.allMembersMenu = Menu(self.updateMembersMenu)
for member in self.allUsers:
    self.allMembersMenu.add_command(label=member,command=lambda i= member: 
self.removeUser(i))

. Это команда для каждого пользователя в системе.Удаление пользователя определяется следующим образом:

def removeUser(self,uname):

    print("Remove User Function , uname: {}".format(uname))
    x=0

    mem = self.currentDoc.getMembers()
    delmem=""
    for i in range(0,len(mem)):
        if (mem[i]==uname):
            x=i
            delmem = mem[i]
            break


    self.allMembersMenu.delete(x)
    self.allUserMenu.destroy
    self.currentDoc.removeMember(delmem)

Используя функцию печати, я знаю, что передаются правильные переменные, но в меню не происходит никаких изменений, есть ли какой-то метод Menu.reDraw(), который мне не хватает?

Если этого не существует, есть ли способ уничтожить это подменю и перерисовать его?

...