2011-05-27 8 views
3

私はTkとパッキングコンセプトに全く新しいです。ここに私のコードは次のとおりです。TkでPythonを使用している場合、どのようにフレームまたはキャンバスを指定してウィンドウのサイズを変更できますか?

from Tkinter import * 

class frm_main: 

    def __init__(self, parent): 
     self.frame = Frame(parent, bg="green") #green for testing 
     self.frame.pack(fill="both") 

     self.canvas = Canvas(self.frame, bg="black", width=1000, height=700) 
     self.canvas.pack(fill="both") 

root = Tk() 
main_frm = frm_main(root) 
root.mainloop() 

私は、いくつかの異なるオプションやテストを試してみました、それはフレームとキャンバスがそれぞれ固定され、x方向に拡大しているように見えるが、y方向にリサイズすると、空の束を残しスペース。

私のウィンドウのすべての側面にフレームをアンカーさせ、キャンバスをフレームのすべての側面に固定するにはどうすればよいですか?私はフレームを使用すべきでしょうか?

答えて

5

を呼び出して、pack()を呼び出すと、ウィジェットはコンテナのサイズ変更時に調整されます。

self.frame.pack(fill = "both", expand = 1) 
... 
self.canvas.pack(fill = "both", expand = 1) 

あなたはグループにウィジェットのセットをフレームを使用したり、余分な境界線を追加しますが、この例では、フレームのための必要はありませんすることができます。

関連する問題