gpt4 book ai didi

python - 如何在不使用 .place 的情况下临时删除(不是删除和替换)Tkinter 小部件?

转载 作者:行者123 更新时间:2023-11-30 23:19:02 25 4
gpt4 key购买 nike

我希望这不是重复的,但我无法在任何地方找到它:

我已经使用 Tkinter 编写应用程序有一段时间了(甚至其中有 2 个游戏,但我现在使用 Pygame。)

我的问题是,我该如何做“.pack”然后“.unpack”(暂时删除)而不使用“.place( x = someLARGE_Number, y = anotherLARGE_Number )"

例如: 根=Tk()

root.geometry( "300x300" )
root.title( "Test" )

label1 = Label( root, text = "Hi" )
label1.place( x = 1, y = 1 )

root.mainloop()

当我删除它时温度。我输入类似的内容:

label1.place( x = 3333, y = 3333 )

我知道打包和解包的存在,但你无法解压已放置的对象,也无法使用包精确放置项目,那么我如何更整齐地删除它?它在代码上看起来很糟糕,并且可能将很多东西放在一边或屏幕上,有时几乎看不到一次移动 1 个。如果这是重复的,请发表评论以提供帮助,但我找不到类似的内容。

重述:

问题:临时删除项目的简洁方法,无需销毁它或使用具有一对大的屏幕外数字的 .place() 方法。

尝试过: .place( x = LARGE, y = LARGE ) 就是这样,.unpack 需要 .pack(ed) 某些东西,而你不能(据我所知)通过 .pack 将项目放置在您想要的位置。

需要:帮助或像我这样的已回答问题的链接!

最佳答案

使用 .place_forget() 方法,该方法与您在创建小部件时选择的“几何管理器”类型相关联:

label1.place_forget()

之后,您可以通过再次放置它来使其再次出现:

label1.place(x=1, y=1)

请注意,使用 .place()/.place_forget() 几何管理器并不总是有益。

您还可以对其他几何管理器使用 .grid()/.grid_forget().pack()/.pack_forget() 方法,其中网格排列或者 pack-layout 更适合您的 GUI 设置/配置/调整大小需求。

可以检查所有实例方法的文档字符串属性.__doc__:

>>> print label.place_forget.__doc__
Unmap this widget.
>>> print label.grid_forget.__doc__
Unmap this widget.
>>> print label.pack_forget.__doc__
Unmap this widget and do not use it for the packing order.

关于python - 如何在不使用 .place 的情况下临时删除(不是删除和替换)Tkinter 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26318076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com