元豪 发表于 2022-10-7 12:31:27

又是tkinter库的问题...

本帖最后由 元豪 于 2023-4-22 15:16 编辑

问:

如何让tkinter库在指定条件下转换窗口或弹出一个新的窗口(不是信息弹窗)。

如按下按钮会把界面清空,在出现新的界面或一个新的窗口。

(最好是转换界面)




zhangjinxuan 发表于 2022-10-7 13:01:35

target.place(x = 9999, y = 9999)
这可以达到消失元素的效果

new_window = Tk()
这更简单,中间运行时也可以创建窗口呀

阿奇_o 发表于 2022-10-7 14:43:35

zhangjinxuan 发表于 2022-10-7 13:01
这可以达到消失元素的效果




把垃圾丢到床底下,垃圾就自动消失了,对吗? {:10_250:}

删除(消失)某个组件对象,应该是用:widget.destroy()

元豪 发表于 2022-10-7 15:01:57

有人吗??
大佬大佬......@Twilight6 @人造人 @不二如是

Twilight6 发表于 2022-10-7 15:12:26

元豪 发表于 2022-10-7 15:01
有人吗??
大佬大佬......@Twilight6 @人造人 @不二如是



.withdraw 可以隐藏根窗口,wm_deiconify 可以重新绘制根窗口

Toplevel 可以创建一个新的顶层窗口,此时你可以隐藏根窗口,如何想返回到根窗口时,在将 Toplevel 窗口销毁,或隐藏,重新绘制 根窗口

元豪 发表于 2022-10-7 15:15:58

Twilight6 发表于 2022-10-7 15:12
.withdraw 可以隐藏根窗口,wm_deiconify 可以重新绘制根窗口

Toplevel 可以创建一个新的顶层窗口 ...

{:10_257:}对!wm_deiconify!
(焉了)咋用那?{:10_284:}

Twilight6 发表于 2022-10-7 15:24:01

元豪 发表于 2022-10-7 15:15
对!wm_deiconify!
(焉了)咋用那?



试试这样吧,两个窗口都是一开始就创建了

运行过程也都隐藏不销毁,这样可能运行时候比较耗内存:

from tkinter import *

def isHidden():
    if root.state() == "normal":
      root.withdraw()
      new_win.wm_deiconify()
    else:
      root.wm_deiconify()
      new_win.withdraw()


root = Tk()
Label(root, text="Root Window").pack()
Button(root, text = "显示新窗口", command=isHidden).pack()


new_win = Toplevel(root)
new_win.withdraw()
Label(new_win, text="Top Window").pack()
Button(new_win, text = "返回主窗口", command=isHidden).pack()


mainloop()

元豪 发表于 2022-10-7 15:32:23

Twilight6 发表于 2022-10-7 15:24
试试这样吧,两个窗口都是一开始就创建了

运行过程也都隐藏不销毁,这样可能运行时候比较耗内存: ...

那怎么销毁呢?{:10_254:}{:10_254:}

Twilight6 发表于 2022-10-7 15:38:23

元豪 发表于 2022-10-7 15:32
那怎么销毁呢?


destroy() 就是销毁,其实如果你只是搞个小程序,用隐藏可以了,应该占不了多少内存

销毁后每次你重新点按钮,都要重新创建顶层窗口的各个组件,也蛮麻烦的

元豪 发表于 2022-10-7 15:48:06

Twilight6 发表于 2022-10-7 15:38
destroy() 就是销毁,其实如果你只是搞个小程序,用隐藏可以了,应该占不了多少内存

销毁后每次你 ...

谢啦,亲{:10_281:}
不愧是互助平台统治者,啥都懂{:5_106:}

Twilight6 发表于 2022-10-7 17:02:57

元豪 发表于 2022-10-7 15:48
谢啦,亲
不愧是互助平台统治者,啥都懂



噗,不敢当,我只是搜索引擎用的比较熟练{:5_92:}

元豪 发表于 2022-10-7 19:59:23

Twilight6 发表于 2022-10-7 17:02
噗,不敢当,我只是搜索引擎用的比较熟练

那如果我想保留菜单呢?{:10_254:}

Twilight6 发表于 2022-10-7 21:22:34

元豪 发表于 2022-10-7 19:59
那如果我想保留菜单呢?



什么意思捏?描述清晰点呗

kerln888 发表于 2022-10-8 08:15:48

元豪 发表于 2022-10-7 19:59
那如果我想保留菜单呢?

你可以隐藏或者销毁其他不需要的组件,只保留菜单

元豪 发表于 2022-10-8 18:32:26

Twilight6 发表于 2022-10-7 21:22
什么意思捏?描述清晰点呗

如保留部分按钮或组件该怎么改?
页: [1]
查看完整版本: 又是tkinter库的问题...