【发布时间】:2010-05-04 06:31:27
【问题描述】:
是否可以将 Tkinter 中的按钮网格放置在另一个框架内?
我想创建一个类似于井字游戏的游戏,并希望使用网格功能来放置游戏方块(即按钮)。但是,我想在 GUI 中添加除游戏板之外的其他内容,因此将所有内容都放在一个网格中并不理想。
举例说明:
O | X | X |
---------- |
O | O | X | Player 2 wins!
---------- |
X | O | X |
井字棋盘位于由所有按钮组成的网格中,“玩家 2 获胜”是框架内的标签。
这是对我试图做的事情的过度简化,请耐心等待,因为到目前为止我设计程序的方式(板是动态创建的)网格最有意义。
编辑:有一个想法,但是当我运行它时,没有任何反应?如果我取出框架位,它会。有什么想法吗?
from Tkinter import *
root = Tk()
b = Button(root, text = "1")
b.grid(row=1, column=3)
b2 = Button(root, text = "2")
b2.grid(row=1, column=4)
f = Frame(root, bg = "red")
f.pack(side=RIGHT)
root.mainloop()
【问题讨论】:
-
似乎什么也没发生的原因是您在同一个父级中同时使用了 grid 和 pack(b.grid() 和 f.pack() 都会影响根小部件)。这可能会导致各种不良行为。在单个容器中,您应该只使用其中一个。在您的整个应用程序中,只要您不直接在同一个容器中使用它们,您就可以随意混合它们。