0

我使用以下代码删除了我的框架的一部分(希望删除当前显示的框数 - 这可能会有所不同):

for i in xrange(self.number_boxes):

    self.box[i].grid_remove()
    self.choice_title.grid_remove()

然而,我最终得到以下结果:

桌子

我做错了什么被卡在主窗口的最后一部分呆在那里?!

我有一个根窗口,然后是一个主窗口“win1”,其中一个框架“frame_table”包含所有表格。背景设置为黑色。

更新:对应于 OptionMenu 中的更改选项:

我没有创建单独的框架,而是在当前框架“frame_table”中创建了一组输入框。选择“列表”选项时,用户输入要创建的框数量。使用另一个选项,它总是创建 2 个框。使用“固定”值,所有框都需要删除,因为不需要额外的框。

因此,如果从“列表”转到“菜单中的其他选项(未固定)”,则需要在创建新框之前删除“列表”选项中的框。

4

1 回答 1

2

成语:

for i in xrange(self.number_boxes):

    self.box[i].grid_remove()
    self.choice_title.grid_remove()

在 python 中应该很少需要。也许您没有看到您的盒子被删除,因为您self.number_boxes的不正确(也许您忘记在某处更新它)。一个更好的方法是:

for box in self.boxes:
    box.grid_remove()
else:
    self.choice_title.grid_remove()

这可能(或可能不会)解决您的问题。

于 2012-07-10T12:51:06.743 回答