你能在tkinter的一个网格单元中安装多个按钮吗?

时间:2016-07-01 20:56:18

标签: python-3.x tkinter

我正在制作一张桌子,桌子的网格将用按钮填充,是否可以在网格空间中放置多个按钮?

2 个答案:

答案 0 :(得分:6)

是的,你可以。在框架内放一个框架,然后你可以在框架内放置任何你想要的东西。在框架内,您可以使用packplacegrid,因为它独立于其他小部件。

例如:

import Tkinter as tk

root = tk.Tk()

l1 = tk.Label(root, text="hello")
l2 = tk.Label(root, text="world")
f1 = tk.Frame(root)
b1 = tk.Button(f1, text="One button")
b2 = tk.Button(f1, text="Another button")

l1.grid(row=0, column=0)
l2.grid(row=0, column=1)
f1.grid(row=1, column=1, sticky="nsew")

b1.pack(side="top")
b2.pack(side="top")

root.mainloop()

答案 1 :(得分:0)

@jasonharper已经提供了答案,但这里有一些代码可供选择。

这只是一个使用网格/包的一堆按钮/帧的随机示例。按钮的pack是任意的,您可以使用grid代替每个网格部分都有一个随机padx,以显示它位于不同的列中,并且网格中的每个不同列包含多个按钮

import tkinter as tk 

root = tk.Tk()
#Now you want another frame
for i in range(5):
    gridframe = tk.Frame(root)
    for j in range(3):
        tk.Button(gridframe, text="%d%d" % (i, j)).pack(side=tk.LEFT)
    gridframe.grid(row=0, column=i, padx=20)
root.mainloop()