tk.Panedwindow不可见

时间:2017-08-15 11:40:35

标签: python tkinter

我正在学习传统知识并使用带有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()

根窗口中没有任何内容。

1 个答案:

答案 0 :(得分:2)

Application中的所有内容仅在Application的实例可见时才可见。事实并非如此,因为您尚未在pack的实例上调用placegridApplication(即: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()