Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用网格删除框架的部分_Python_User Interface_Tkinter_Pack_Ttk - Fatal编程技术网

Python 使用网格删除框架的部分

Python 使用网格删除框架的部分,python,user-interface,tkinter,pack,ttk,Python,User Interface,Tkinter,Pack,Ttk,我已使用以下代码删除了框架的一部分(希望删除当前显示的框数-这可能会有所不同): 然而,我最后得出以下结论: 我被困在主窗口的最后一部分,这有什么不对的 我有根窗口,然后是一个主窗口“win1”,其中一个框架“frame_table”包含所有表。背景设置为黑色 更新:对应于选项菜单中的更改选项: 我没有创建单独的框架,而是在当前框架“frame_table”中创建了一组输入框。选择“列表”选项时,用户输入要创建的框的数量。使用另一个选项时,始终会创建两个框。使用“固定”值时,需要删除所有框,因

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

然而,我最后得出以下结论:

我被困在主窗口的最后一部分,这有什么不对的

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

更新:对应于选项菜单中的更改选项:

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

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

习惯用法:

for i in xrange(self.number_boxes):

    self.box[i].grid_remove()
    self.choice_title.grid_remove()
在python中应该很少需要。可能您没有看到您的框被删除,因为您的
self.number\u box
不正确(可能您忘记在某处更新它)。更好的方法是:

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

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

所以您希望所有这些小部件都消失?不清楚这里出了什么问题。你能再描述一下吗?谢谢。但这只会删除最后一个框。@user2063——请参阅我对您的其他问题的回答。您的
列表不是您所认为的;)。我已经弄明白了这一点,也谢谢你对这个问题发表评论!
for box in self.boxes:
    box.grid_remove()
else:
    self.choice_title.grid_remove()