我正在学习传统知识并使用带有python的Panedwindow遇到问题。代码:
import tkinter as tk
import tkinter.ttk as ttk
class Application(tk.Frame):
def __init__(self,master):
#Set top window geomotry
tk.Frame.__init__(self,master)
pane = tk.PanedWindow(self)
pane.pack(fill=tk.BOTH, expand=1)
test=tk.Label(pane,text='test')
test.pack()
root=tk.Tk()
root.geometry("800x600")
app=Application(root)
tk.mainloop()
根窗口中没有任何内容。
答案 0 :(得分:2)
Application
中的所有内容仅在Application
的实例可见时才可见。事实并非如此,因为您尚未在pack
的实例上调用place
,grid
或Application
(即:app
)。
另一个问题更多是概念问题。如果你添加一个paned窗口但只有一个窗格,它将没有分隔符,因为没有什么可以分开。
这是您的代码的工作版本,带有第二个窗格,以便您可以更轻松地将其可视化。
import tkinter as tk
import tkinter.ttk as ttk
class Application(tk.Frame):
def __init__(self,master):
#Set top window geomotry
tk.Frame.__init__(self,master)
pane = tk.PanedWindow(self)
pane.pack(fill=tk.BOTH, expand=1)
test=tk.Label(pane, text='test', background="pink")
pane.add(test)
test2 = tk.Label(pane, text="foo", background="blue")
pane.add(test2)
root=tk.Tk()
root.geometry("800x600")
app=Application(root)
app.pack(fill="both", expand=True)
tk.mainloop()