【问题标题】:Clear Window in Tkinter在 Tkinter 中清除窗口
【发布时间】:2014-07-24 00:01:34
【问题描述】:

我有一个 tkinter GUI,当打开它时,它是一个顶部带有菜单栏的空小部件。单击菜单上的选项会导致文本框、更多按钮和更多菜单出现在小部件中。我的问题是一切都重叠。 我需要一种简单的方法来删除当前存在的所有内容,例如“清除窗口”选项。 我试过把所有东西都装进一个框架,然后破坏一个框架,但由于某种原因,它不起作用。 有什么建议么? 理想情况下,我会做一些检查以查看指定空间中是否有任何东西(按钮、文本框、菜单),并在创建新的小部件属性之前将其全部删除。

【问题讨论】:

  • 只有一个建议:显示您的代码。
  • 我不能@furas - 公司准则。
  • “包含足够的代码以允许其他人重现问题” - Stackoverflow guidelines (How do I ask a good question?) :)
  • 你使用grid()pack()还是place()?通常我会将Frame 与小部件一起使用,并使用Frame.grid()Frame.pack() 将此框架添加到主窗口,然后我将使用Frame.grid_forget()Frame.pack_forget() 来隐藏带有所有小部件的框架。这样我就不用检查任何东西了。

标签: python python-2.7 tkinter


【解决方案1】:

我遇到的问题已通过在每个函数中创建一个新框架并让代码使用Frame.destroy() 销毁任何先前存在的框架来解决。 我的第二个问题是我的框架内没有小部件,这是由 Tkinter 框架如何自动调整大小以适应原始小部件引起的。因此,当我将小部件添加到框架时,框架保持第一个小部件的大小并且没有显示新按钮。我使用frame.pack_propagate(0) 强制框架保持指定大小。

【讨论】:

    猜你喜欢
    • 2015-03-17
    • 1970-01-01
    • 2018-09-19
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 2019-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多