【发布时间】:2012-07-06 07:47:28
【问题描述】:
如果我在同一个框架中有几行和几列带有多个条目/标签小部件,是否可以只选择其中一个并将其删除,同时不理会其他小部件。
例如
class Window():
def __init__(self):
self.root = Tk()
self.win1 = Frame(self.root)
entry1 = Entry(win1, row=1, column=1)
entry2 = Entry(win1, row=1, column=2)
label1 = Label(win1, row=1, column=3)
def main1(self):
label2 = Label(win1, row=1, column=4)
labeln = Label(win1, row=1, column=n)
然后我想从第 3 列开始删除,其中 n 可能是一个随机数。是否可以获取 grid_forget 并插入列数?行也可以吗?
更新:或者是否可以简单地返回到在 init 下创建的窗口并删除在 main1 下创建的窗口(但已在同一框架中创建)?
谢谢。
【问题讨论】:
-
您要问的是 tk 的动态布局。我之前尝试过,IMO 不可能。因此我采取了间接的方法。请检查我的答案。
-
感谢您的回答,但我真的不想让它变得太复杂。有没有办法清除我的主窗口,然后恢复 init 小部件等?
-
@Ani:“不可能”是完全错误的。没有什么可以阻止您创建高度动态的 UI。可以说,tkinter 比许多其他工具包更能做到这一点。
标签: python user-interface tkinter ttk