Как подключить кнопки к словарям в Tkinter - PullRequest
0 голосов
/ 10 июня 2019

Я хочу сделать кучу кнопок, когда я запускаю этот код.Затем, если вы нажмете на кнопку, я хочу показать содержимое, которое соответствует этой кнопке в моем словаре.

Я создал словарь, и он заполнен, но я просто не знаю, как сказать кнопке найти это слово в словаре.Это то, что у меня есть, и я просто хочу знать, как это сделать, чтобы вы нажимали кнопку, и соответствующий текст печатался на терминале.На данный момент, это просто приводит к созданию кнопок в сетке в соответствии со списком слов (который является 2d-массивом).Мой словарь называется my_dict, и show_content должен печатать содержимое словаря со значением в wordList [x] [y].

def url_entry():
    for y in range(len(wordList)):
        WebScrape.yolo(e1.get(), wordList[y], countList[y],my_dict)
        for x in range(len(wordList[y])):
            if countList[y][x] > 0:
                text_to_use = '{0} \n({1})'.format(wordList[y][x], countList[y][x])
                tk.Button(text=text_to_use, relief=tk.RIDGE, width=15, command=show_content).grid(row=5 + x,column=y)
def show_content():
    print(my_dict[x])```

1 Ответ

1 голос
/ 10 июня 2019

вот небольшой пример:

from Tkinter import Tk, Label, Button

class MyFirstGUI:
    def __init__(self, master):
        self.master = master
        self.dict_ = {"button_1": "value of button 1", "button_2": "value of button 2", "button_3": "value of button 3"}


        self.button_1 = Button(master, text="button_1", command=lambda: self.OnButtonClick("button_1"))
        self.button_1.pack()

        self.button_2 = Button(master, text="button_2", command=lambda: self.OnButtonClick("button_2"))
        self.button_2.pack()

        self.button_3 = Button(master, text="button_3", command=lambda: self.OnButtonClick("button_3"))
        self.button_3.pack()

    def OnButtonClick(self, btn):
        print(self.dict_[btn])

root = Tk()
my_gui = MyFirstGUI(root)
root.mainloop()

выход:

кнопка_2 нажата

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...