Python 从另一个Tk实例调用Tk实例会导致设置文本变量的问题
我使用Python 从另一个Tk实例调用Tk实例会导致设置文本变量的问题,python,python-2.7,tkinter,ttk,Python,Python 2.7,Tkinter,Ttk,我使用Tkinter和ttk构建了一个简单的用户下拉菜单。我使用textvariable.set()为加载时的窗口设置默认值。一切都很好。代码如下 from Tkinter import * import ttk parent = Tk() myvalue = StringVar() user_entry1 = ttk.Combobox(parent, values=['value 1', 'value2'], textvariable=myvalue) user_entry1.pack()
Tkinter
和ttk
构建了一个简单的用户下拉菜单。我使用textvariable.set()
为加载时的窗口设置默认值。一切都很好。代码如下
from Tkinter import *
import ttk
parent = Tk()
myvalue = StringVar()
user_entry1 = ttk.Combobox(parent, values=['value 1', 'value2'], textvariable=myvalue)
user_entry1.pack()
myvalue.set('default value')
mainloop()
现在,我想变得更复杂一点,使用另一个名为root
的Tk()
实例来生成我的parent
Tk()
实例。一切似乎都很正常,除了下拉列表的默认值没有显示。它确实被分配给textvariable,这一点可以通过print myvalue.get()
证明。我错过了什么
from Tkinter import *
import ttk
root = Tk()
def load_dropdown():
parent = Tk()
myvalue = StringVar()
user_entry1 = ttk.Combobox(parent, values=['value 1', 'value2'], textvariable=myvalue)
user_entry1.pack()
myvalue.set('default value')
print myvalue.get()
parent.mainloop()
b = Button(root, text="Generate Dropdown ", command=load_dropdown)
b.pack()
root.mainloop()
在tkinter应用程序中,不能多次使用
Tk
的实例。您正在观察尝试这样做的负面副作用之一
如果需要第二个窗口,请创建的实例而不是
Tk
的第二个实例 在tkinter应用程序中不能多次使用Tk
的实例。您正在观察尝试这样做的负面副作用之一
如果需要第二个窗口,请创建的实例而不是
Tk
的第二个实例 在tkinter应用程序中不能多次使用Tk
的实例。您正在观察尝试这样做的负面副作用之一
如果需要第二个窗口,请创建的实例而不是
Tk
的第二个实例 在tkinter应用程序中不能多次使用Tk
的实例。您正在观察尝试这样做的负面副作用之一
如果需要第二个窗口,请创建的实例而不是
Tk
的第二个实例 在tkinter中,您只能创建一个由
root=Tk()
这是您的默认窗口。如果您放弃第二次创建父对象,您的示例将起作用
要创建更多窗口,请使用new_window=TopLevel()
关于tkinter有很多很好的文档,利用它,它将带您走得更远:)
在tkinter中,您只能创建一个由 root=Tk() 这是您的默认窗口。如果您放弃第二次创建父对象,您的示例将起作用 要创建更多窗口,请使用new_window=TopLevel() 关于tkinter有很多很好的文档,利用它,它将带您走得更远:)
在tkinter中,您只能创建一个由 root=Tk() 这是您的默认窗口。如果您放弃第二次创建父对象,您的示例将起作用 要创建更多窗口,请使用new_window=TopLevel() 关于tkinter有很多很好的文档,利用它,它将带您走得更远:)
在tkinter中,您只能创建一个由 root=Tk() 这是您的默认窗口。如果您放弃第二次创建父对象,您的示例将起作用 要创建更多窗口,请使用new_window=TopLevel() 关于tkinter有很多很好的文档,利用它,它将带您走得更远:)
有两个
Tk
实例会混淆它。如果您希望在单独的顶级窗口中显示内容,请改为调用,这样就可以正常工作
def load_dropdown():
parent = Toplevel() # <- change to this
myvalue = StringVar()
...
def load_下拉列表():
parent=Toplevel()#有两个Tk
实例会混淆它。如果您希望在单独的顶级窗口中显示内容,请改为调用,这样就可以正常工作
def load_dropdown():
parent = Toplevel() # <- change to this
myvalue = StringVar()
...
def load_下拉列表():
parent=Toplevel()#有两个Tk
实例会混淆它。如果您希望在单独的顶级窗口中显示内容,请改为调用,这样就可以正常工作
def load_dropdown():
parent = Toplevel() # <- change to this
myvalue = StringVar()
...
def load_下拉列表():
parent=Toplevel()#有两个Tk
实例会混淆它。如果您希望在单独的顶级窗口中显示内容,请改为调用,这样就可以正常工作
def load_dropdown():
parent = Toplevel() # <- change to this
myvalue = StringVar()
...
def load_下拉列表():
父级=顶级()#