Python zu bekommen - Veranstaltungen, Rahmen und Tkinter
Hier habe ich meine GameApplication Klasse, die die tkinter Anwendung erstellt und ausgeführt wird. Ich möchte es haben, damit ich die gleiche Funktion von jedem Rahmen anrufen kann und diese Funktion benutze, um herauszufinden, welcher Rahmen geklickt wurde. Ich tauche gerade erst in Python ein, also entschuldige mich, wenn das einfach scheint.Python - Wie würde ich eine einzelne Funktion verwenden, um Informationen über den Rahmen in Tkinter
Vielen Dank für die Hilfe im Voraus.
# Import needed classes.
from tkinter import *
# Create the GameApplication class to run the GUI
class GameApplication(Frame):
def __init__(self, master=None):
super().__init__(master)
self.grid()
self.grid_rowconfigure(0, weight=1)
self.grid_columnconfigure(0, weight=1)
self.position_1 = Frame(width=100, height=100, bg="#CC0000")
# This is the Frame I want to get information about.
self.position_1.bind("<Button-1>", self.callback)
self.position_1.grid(column=0, row=0)
self.position_2 = Frame(width=100, height=100, bg="#00CC00")
# And this one too.
self.position_2.bind("<Button-1>", self.callback)
self.position_2.grid(column=1, row=0)
def callback(self, event):
print("?")
if __name__ == "__main__":
root = Tk()
app = GameApplication(master=root)
root.mainloop()
Sie können jedem Frame einen aussagekräftigen Namen geben: 'Frame (name = '...', ...)' und dann den Frame-Namen in 'Callback (...)' -Funktion mit 'str (event.widget) '. – acw1668