46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
#!/usr/bin/python3
|
|
|
|
import tkinter as tk
|
|
|
|
class MainWindow(tk.Tk):
|
|
def __init__(self, *args, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
|
|
self.title("Trace-Test-Window")
|
|
self.geometry("400x300")
|
|
self.text_label = tk.StringVar()
|
|
self.text_forground = tk.StringVar(value="red")
|
|
self.text_label.set("This is the main window")
|
|
self.label = tk.Label(self, textvariable=self.text_label)
|
|
self.label.grid(row=0, column=0, padx=10, pady=10)
|
|
self.label.grid_remove()
|
|
|
|
self.button_text = tk.StringVar()
|
|
self.button_text.set("Drück für andere Text anzeige")
|
|
self.button = tk.Button(self, textvariable=self.button_text, command=self.toggle_lable)
|
|
self.button.grid(row=1, column=0, padx=10, pady=10)
|
|
|
|
self.text_label.trace_add("write", self.update_label)
|
|
self.text_forground.trace_add("write", self.update_label)
|
|
|
|
def update_label(self, *args):
|
|
self.label.configure(foreground=self.text_forground.get())
|
|
|
|
if self.text_label.get():
|
|
self.label.grid()
|
|
else:
|
|
self.label.grid_remove()
|
|
|
|
def toggle_lable(self):
|
|
|
|
if 'main window' in self.text_label.get():
|
|
self.text_label.set("gewechseltes label")
|
|
self.button_text.set("Drück für main window")
|
|
else:
|
|
self.text_label.set("This is the main window")
|
|
self.button_text.set("Drück für andere Text anzeige")
|
|
|
|
if __name__ == "__main__":
|
|
window = MainWindow()
|
|
window.mainloop()
|