当用户使用Python Tkinter单击列表框中的特定项目时如何打开新窗口

时间:2018-09-06 08:00:19

标签: python python-3.x user-interface tkinter

因此,列表框中有很多项目,我希望当用户单击列表框中的某个项目时,它应该显示相应的窗口。因此,例如,如果用户单击列表框中的第一个项目,则应显示window_1,如果用户单击第二个项目,则应显示window_2,依此类推...

如何使用tkinter达到目标?

1 个答案:

答案 0 :(得分:0)

因此,我决定使用菜单按钮来完成此任务并解决了问题。这是我的方法:

from functools import partial
import tkinter as tk

root = tk.Tk()

mb = tk.Menubutton(root, text="   Answers   ")
mb.menu = tk.Menu(mb)
mb['menu'] = mb.menu
mb.pack()


def answers_message(text):
    t = tk.Toplevel()
    message = tk.Message(t, text=text)
    message.pack(side="top", fill="both", expand=True, padx=50, pady=50)


repetition = int(input("How many repetitions: "))
messages = ['one', 'two', 'three', 'four', 'five']
for i in range(repetition):
    action_with_arg = partial(answers_message, messages[i])
    ans_label = "Answer {}".format(i)
    mb.menu.add_command(label=ans_label, command=action_with_arg)

root.mainloop()