我想知道是否有一种方法,在tkinter或使用任何其他python模块,使它,所以你保持一个标签或任何其他元素在每个窗口只是使用像一个函数,使窗口内的标签?我试过了:
#Modules
import tkinter as tkin
#The initializer window
class Test:
def __init__(self):
#Initializes the main window
self.start = tkin.Tk()
self.start.title('Test')
self.label_thing()
#Makes a label
def label_thing(self):
self.label1 = tkin.Label(text='Not Button')
self.label1.pack()
我不知道我是否犯了任何错误,或者如果这不是你可以做的事情,但我也想避免将标签本地化到这个窗口,并且必须为每个窗口重新编写代码。
让我们假设您有一个创建窗口的按钮,您将该窗口作为参数传递给创建标签的函数,例如:
import tkinter as tk # Fixed weird import naming
class Test:
def __init__(self):
self.start = tk.Tk()
self.start.title('Test')
self.label_thing(self.start) # Label on the main window
tk.Button(self.start,text='Click me',command=self.create_win).pack()
self.start.mainloop()
def label_thing(self, master):
self.label1 = tk.Label(master, text='Not Button')
self.label1.pack()
def create_win(self):
new = tk.Toplevel()
self.label_thing(new) # Label on the new window
if __name__ == '__main__':
Test()
正如你所看到的,只要你按下按钮,就会创建新的窗口,并且所有这些窗口都动态地带有标签。