Python.use(better,Tkinter)《07》Grid
‖記事一覧‖ Python.use(better, Tkinter)《Python3.1》
《こちらに移動しました》2006年11月28日 (火)
Grid
《著》森こねこ・小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪1993/11/25 ● 第1版♪2006/10/28
Tkinter によるオブジェクト指向プログラミングへの扉を開きます。
※ Tcl/Tk で作成した例題を、Python3.1 で再構成しました。
部品 Grid
格子 Grid を使って部品を配置する方法を紹介します。
■ 事例1:
次のコードを実行すると、ウィンドウが現われます。
>>> ex_grid1()
def ex_grid1(): root = Tk() root.title("grid(row=, column=)") root.geometry("240x240") dim = 4; bd = 2; wh = 50 for e in range(dim*dim): ry, cx = e//dim, e%dim w = Frame(root, borderwidth=bd, relief=RIDGE, width=wh, height=wh, bg="cyan", ) w.grid(sticky="NEWS", row=ry, column=cx) w = Label(root, text="%d,%d"%(ry, cx)) w.grid(row=ry, column=cx) root.mainloop()
■ 事例2:
次のコードを実行すると、ウィンドウが現われます。
>>> ex_grid2()
def ex_grid2(): root = Tk() root.title("grid(rowspan=, columnspan=)") root.geometry("240x240") dim = 4; bd = 2; wh = 50 for e in range(dim*dim): ry, cx = e//dim, e%dim w = Frame(root, borderwidth=bd, relief=RIDGE, bg="cyan", width=wh, height=wh, ) w.grid(sticky="NEWS", row=ry, column=cx) w = Label(root, text="%d,%d"%(ry, cx)) w.grid(row=ry, column=cx) dim = 2 for e in range(1, dim*dim): ry, cx = e//dim, e%dim w = Frame(root, borderwidth=bd, relief=RIDGE, bg="yellow", ) w.grid( sticky="NEWS", row =ry , column =cx , rowspan=ry+1, columnspan=cx+1, ) w = Label(root, text="%d,%d"%(ry, cx)) w.grid(row=ry, column=cx) root.mainloop()