当前位置: 首页 > 面试题库 >

如何在Tkinter中显示/隐藏小部件?

廉高邈
2023-03-14
问题内容

我正在尝试创建一个程序,该程序执行一系列给定的用户输入。仅在某些情况下才需要几个用户输入,并且如果可能的话,我想仅在选择一个Checkbutton(表示存在要求这些输入的情况)时显示这些输入值的Entry框和Labels。我不确定该怎么做:

  • 将我要添加的标签和条目框放在已经存在的行之间。

  • 取消选中“选择”按钮时,“隐藏”标签和输入框,而不进行选择,destroy这样,如果重新选择“选择”按钮,则可以再次显示它们而不会丢失任何已输入的数据。

    • 示例:我选择了Checkbutton,在出现的新框中输入数据,然后取消选择Checkbutton(导致不再显示这些框)。如果要重新选择Checkbutton,那么上次选择Checkbutton时输入的数据应该仍然存在。
    • 如果在取消选择之前重新选择了Checkbutton,则“显示”与以前“隐藏”的相同标签和输入框。

我不知道这样的事情是否可行,但如果不能,请告诉我。另外,我知道我可以在取消选中“选择”state按钮DISABLED时将相关的“输入”框设置为,但是,我希望,如果可能的话,不要显示这些框,以便它们的出现不会使不熟悉这种情况的用户感到困惑。在此之下,需要额外的投入。

如果相关,我在Windows 10 Pro上使用Python 2.7.9,Anaconda
2.2.0(64位)和Tkinter版本81008。如果我遗漏了任何有用的信息,请随时索取更多信息。在此先感谢您提供的任何帮助。


问题答案:

我想你要grid_remove()

http://www.tkdocs.com/tutorial/grid.html:

网格的“忘记”方法将一个或多个从属窗口小部件的列表作为参数,可用于从它们当前所在的网格中删除从属。这不会完全破坏小部件,而是将其从屏幕上移开,就好像它最初没有被网格化一样。尽管您最初分配的所有网格选项都将丢失,但是您可以稍后再次对其进行网格化。

网格的“删除”方法的工作原理相同,只是会记住网格选项。

丑陋的例子如下。玩网格选项和输入文本以查看如何保存它们。

def toggle_entry():
    global hidden
    if hidden:
        e.grid()
    else:
        e.grid_remove()
    hidden = not hidden

hidden = False
root = tk.Tk()
e = tk.Entry(root)
e.grid(row=0, column=1)
tk.Button(root, text='Toggle entry', command=toggle_entry).grid(row=0, column=0)
root.mainloop()


 类似资料:
  • 问题内容: 您如何在Tkinter中显示和隐藏小部件?我想有一个输入框,但不要一直显示它。有人可以向我展示在tkinter中显示和隐藏条目小部件和其他小部件的功能吗?我希望能够在没有多个帧的情况下执行此操作。 问题答案: 这已经在stackoverflow上得到了回答。简短的答案是,您可以使用grid_remove,如果先前是通过网格添加的,则将导致该小部件被删除。记住小部件的位置,因此只需简单地

  • 在Android中,每个子类都有一个方法,允许您修改对象的可见性 设置可见性有3个选项: 可见:呈现布局内部可见的 Flutter中的小部件是否有与上述相同的功能? 快速参考:https://developer.android.com/reference/android/view/View.html#attr_android:visibility

  • 问题内容: 我想知道如何根据某些模式来更改某些单词和表达式的样式。 我正在使用小部件,但不确定如何执行此操作(与文本编辑器中语法高亮显示的想法相同)。即使这是用于此目的的正确小部件,我也不确定。 问题答案: 这是用于这些目的的正确小部件。基本概念是,将属性分配给标签,然后将标签应用于小部件中的文本范围。您可以使用文本小部件的命令来查找与您的模式匹配的字符串,这将为您返回足够的信息,将标记应用于匹配

  • 问题内容: 我正在处理四组数据,每组数据都有几个时间序列。我正在使用bokeh将它们全部绘制在一起,结果如下所示: 多线图散景与小部件 问题在于它看起来确实很乱,所以我想使用multiselect小部件来显示/隐藏所有多行线组(4)。如何在绘图中使用多选小部件? 提前致谢。 问题答案: 此PR中刚刚在版本0.12.1中添加了对执行此操作的支持(使用MultiSelect小部件隐藏/显示行):htt

  • 问题内容: 在Android中,每个子类都有一个方法,可让您修改对象的可见性 设置可见性有3个选项: 可见:在布局内渲染可见 看不见:隐藏,但留下的间隙等于可见时将占据的间隙 消失:隐藏,并将其完全从布局中删除。这是因为如果它和人 Flutter中的小部件是否具有与上述等同的功能? 快速参考:https : //developer.android.com/reference/android/vie

  • 在Android中,每个子类都有一个方法,它允许您修改对象的可见性 设置可见性有3个选项: 可见:在布局中呈现可见 invisible:隐藏,但会留下一个间隙,该间隙相当于在可见时所占的位置 gone:隐藏并将其完全从布局中删除。就好像它的和是 Flutter中的Widgets是否有与上面等价的东西? 有关快速参考:https://developer.android.com/reference/a