2017-08-15 90 views
0

我正在學習TK,並用python使用Panedwindow遇到問題。代碼:tk.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() 

沒有任何內容出現在根窗口中。

回答

2

只有當Application的實例可見時,纔會顯示Application中的所有內容。它不是,因爲您還沒有在Application(即:app)的實例上調用packplacegrid

另一個問題更多的是概念問題。如果添加一個窗口窗口,但只有一個窗格,它將不會有分隔線,因爲沒有任何分隔。

這是您的代碼的工作版本,第二個窗格使您可以更容易地對其進行可視化。

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()