Python 在下拉菜单中查找用户使用的路径

Python 在下拉菜单中查找用户使用的路径,python,tkinter,menu,widget,Python,Tkinter,Menu,Widget,我正在使用tkinter中的菜单小部件创建一个下拉菜单,我需要一些代码,以便在单击其中一个命令时,找到用户访问该命令的路径。这是因为所需的命令将取决于用户到达该命令的路线。如何找到用户所使用的路径?这是我的密码 team1 = 'Lakers' team2 = 'Celtics' def makeShot(): print ("Shot was made by") # Setting up the window and the title etc. root = Tk()

我正在使用tkinter中的菜单小部件创建一个下拉菜单,我需要一些代码,以便在单击其中一个命令时,找到用户访问该命令的路径。这是因为所需的命令将取决于用户到达该命令的路线。如何找到用户所使用的路径?这是我的密码

team1 = 'Lakers'
team2 = 'Celtics'

def makeShot():
    print ("Shot was made by")

# Setting up the window and the title etc.     
root = Tk()
root.title("Basketball Code")
root.geometry("850x700")

# Lists for the 2 teams.
team1Players = ("Zach Auguste", "Tarik Black", "Anthony Brown", "Jose Calderon", "Luol Deng")
team2Players = ("Ben Bentil", "Avery Bradley", "Jaylen Brown", "Jae Crowder", "Gerald Green")

# Create a popup menu for selecting a team. 
teamMenu = Menu(root)

Team2Menu = Menu(root)
Team1Menu = Menu(root)

# Create the 2 options for picking the teams.
teamMenu.add_cascade(label=team1, menu = Team1Menu)
teamMenu.add_cascade(label=team2, menu = Team2Menu)

# Adding the player names to the drop down list
team1Menu = Menu(root)
for i in range(len(team1Players)):
    Team1Menu.add_cascade(label=team1Players[i], menu=team1Menu)

# Adding the player names to the drop down list
team2Menu = Menu(root)
for i in range(len(team2Players)):
    Team2Menu.add_cascade(label=team2Players[i], menu=team2Menu)

#Adding the options to the players name list.
shotTypeMenu = Menu(root)
team1Menu.add_cascade(label= "3pt", menu=shotTypeMenu)
team1Menu.add_cascade(label= "2pt", menu=shotTypeMenu)
team2Menu.add_cascade(label= "3pt", menu=shotTypeMenu)
team2Menu.add_cascade(label= "2pt", menu=shotTypeMenu)


#Adding the options to the players name list.
shotSuccessMenu = Menu(root)
shotTypeMenu.add_command(label= "Make", command = makeShot)
shotTypeMenu.add_command(label= "Miss", command = None)

def popup(event):
    teamMenu.post(event.x_root, event.y_root)
    print(event.x,",",event.y)

#Attach popup to frame
root.bind("<Button-3>", popup)

root.mainloop()
team1='Lakers'
第二队=‘凯尔特人’
def makeShot():
印刷品(“拍摄者”)
#设置窗口和标题等。
root=Tk()
根标题(“篮球代码”)
根几何(“850x700”)
#两个团队的列表。
团队1玩家=(“扎克·奥古斯特”、“塔里克·布莱克”、“安东尼·布朗”、“何塞·卡尔德隆”、“罗尔·邓”)
team2Players=(“本·本蒂尔”、“艾弗里·布拉德利”、“杰伦·布朗”、“杰伊·克劳德”、“杰拉尔德·格林”)
#创建用于选择团队的弹出菜单。
团队菜单=菜单(根目录)
Team2Menu=菜单(根目录)
Team1Menu=菜单(根目录)
#创建选择团队的两个选项。
teamMenu.add_级联(标签=team1,菜单=team1菜单)
teamMenu.add_cascade(label=team2,menu=Team2Menu)
#将玩家姓名添加到下拉列表中
team1Menu=菜单(根目录)
对于范围内的i(len(team1Players)):
Team1Menu.add_级联(标签=team1Players[i],菜单=Team1Menu)
#将玩家姓名添加到下拉列表中
team2Menu=菜单(根目录)
对于范围内的i(len(team2Players)):
Team2Menu.add_级联(标签=team2Players[i],菜单=Team2Menu)
#将选项添加到球员名单中。
shotTypeMenu=菜单(根目录)
团队1菜单。添加级联(label=“3pt”,菜单=快照类型菜单)
团队1菜单。添加\u级联(label=“2pt”,菜单=快照类型菜单)
team2Menu.add_级联(label=“3pt”,menu=shotTypeMenu)
team2Menu.add_级联(label=“2pt”,menu=shotTypeMenu)
#将选项添加到球员名单中。
shotSuccessMenu=菜单(根目录)
shotTypeMenu.add_命令(label=“Make”,command=makeShot)
shotTypeMenu.add_命令(label=“Miss”,command=None)
def弹出窗口(事件):
teamMenu.post(event.x_root,event.y_root)
打印(事件x,,,事件y)
#将弹出窗口附加到框架
root.bind(“,弹出窗口)
root.mainloop()

您只需要一个列表来存储以前的选择,并决定在代码中的列表中添加项目的位置以及何时清除列表。请详细说明您的评论,我不明白。不,我不能,因为您的问题不清楚。如果要获取以前的选择,这意味着在做出选择时必须将其存储在列表中。现在,必须不时清除此列表。只有你知道什么时候必须是甜甜圈,但从技术上讲,它们不是“选择”,正如你所看到的,它们是级联的,所以你不需要点击它们,仅将鼠标悬停在它们上面。您可能可以为postcommand和tearoffcommand菜单小部件的选项添加回调。您只需要一个列表来存储以前的选项,并决定在代码中向列表中添加项目的位置以及何时清除该列表。请详细说明您的评论,我不明白。不,我不能,因为你的问题不清楚。如果要获取以前的选择,这意味着在做出选择时必须将其存储在列表中。现在,必须不时清除此列表。只有你知道什么时候必须是油炸圈饼,但从技术上讲,它们不是“选择”,正如你所看到的,它们是级联的,所以你不需要点击它们,只需将鼠标悬停在它们上面。你也许可以为postcommand和tearoffcommand菜单小部件的选项添加回调。