Как открыть новое окно, когда пользователь щелкает конкретный элемент в списке с помощью Python tkinter - PullRequest
0 голосов
/ 06 сентября 2018

Таким образом, у меня есть много элементов в списке, и я хочу, чтобы, когда пользователь нажимает на определенный элемент в списке, он отображал соответствующее окно. Так, например, если пользователь щелкает первый элемент в списке, он должен отображать window_1, если пользователь щелкает второй элемент, он должен отображать window_2 и т. Д. *

Как мне добиться этого с помощью tkinter?

1 Ответ

0 голосов
/ 06 сентября 2018

Поэтому я решил использовать кнопку меню для этой задачи и решил проблему. Вот как я это сделал:

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...