Tkinter和创建新窗口的问题



我对Tkinter很陌生,我正试图使用此脚本创建一个新窗口,同时保留当前窗口,但我收到了错误CCD_ 1。我真的不确定原因是什么,但我认为我的按钮的命令功能没有按我想要的方式工作。脚本目前看起来像这样:

from tkinter import simpledialog
from tkinter import *
class Additional(simpledialog.Dialog):
def body(self, master):
#input fields
Label(master, text="Picture 3 Path:").grid(row=1)
#input fields for tags
#add as needed
self.e1 = Entry(master)
self.e1.grid(row=1, column=1, ipadx=150)
return self.e1 # initial focus
def apply(self):
first = self.e1.get()
self.ttag1 = (first)
class Initial(simpledialog.Dialog):
def body(self, master):
#input fields for username and passwords
Label(master, text="Usernames:").grid(row=1),
self.e1 = Entry(master)
self.b1 = Button(master, text = "Add More", bg= 'grey', command= Additional)
self.b1.grid(row=6, column=2, ipadx=75)
self.e1.grid(row=1, column=1, columnspan=2, ipadx=50)
return self.e1 # initial focus
def apply(self):
first = self.e1.get()
self.tag1 = (first)

root = tk.Tk()
root.withdraw()
d = Initial(root)
toor = tk.Tk() 
toor.withdraw()

我试过把它改一下,但似乎不太好用。有什么想法吗?

通过button命令调用Additional类时,没有指定父根应该是什么,因此该类无法启动。您可以通过使用lambda 传递master来解决此问题

self.b1 = Button(master, text="Add More", bg='grey', command=lambda: Additional(master))

最新更新