Как я могу контролировать каждую кнопку в Tkinter индивидуально - PullRequest
0 голосов
/ 09 мая 2018

Как я могу управлять каждой кнопкой индивидуально в tkinter?

Вот мой код:

from tkinter import *

class Minesweeper:

    def __init__(self,action):
        L=[]
        for i in range(15):
            for j in range(15):
                self.action = Button(win, text = "    h    ",command = self.clickMe)
                self.action.grid(column = i, row = j)


    def clickMe(self):

        self.action.configure(foreground = "red")


def main():
    global win
    win = Tk()
    win.title('Minesweeper')
    game = Minesweeper(win)
    win.mainloop()

main()

1 Ответ

0 голосов
/ 09 мая 2018

Лучшим способом является привязка какого-либо события к кнопке:

from tkinter import *

class Minesweeper:

    def __init__(self, action):
        L=[]
        for i in range(15):
            for j in range(15):
                self.action = Button(win, text="h")
                # bind to button function 'clickMe' that runs while <Button-1> clicked on it
                self.action.bind("<Button-1>", self.clickMe)  
                self.action.grid(column=i, row=j)


    def clickMe(self, event):
        """changes the 'fg' color of the events widget"""
        event.widget.configure(foreground="red")  


def main():
    global win
    win = Tk()
    win.title('Minesweeper')
    game = Minesweeper(win)
    win.mainloop()

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