萌兔biubiu 发表于 2020-1-17 09:42:56

求助关于tkinter的问题

import tkinter as tk
import tkinter.filedialog
import os

# root = tk.Tk()
# root.withdraw()

Folderpath=filedialog.askdirectory()

filelist=os.listdir(path=Folderpath)
print(filelist)
如代码所示 我想做一个 对话框选择文件夹,并且对文件夹里所有的文件进行操作
网上搜索了代码如果比较简单 且没有什么界面需求的话 可以用 tkinter   但是 我发现 有两句 代码
# root = tk.Tk()
# root.withdraw()

我发现这两句代码 注不注释 都一样 ,我运行了 肉眼看不出来差别
而且百度搜索不到 对这两句代码的具体解释
就想问问到底啥意思 为啥几乎所有的 tkinter 开头 都是这两句话
到底分别有啥用呢

zltzlt 发表于 2020-1-17 09:45:39

filedialog.askdirectory() 会自动创建一个根窗口 root。如果已经创建了根窗口 root,则不会重复创建。

萌兔biubiu 发表于 2020-1-17 10:09:02

zltzlt 发表于 2020-1-17 09:45
filedialog.askdirectory() 会自动创建一个根窗口 root。如果已经创建了根窗口 root,则不会重复创建。

模模糊糊知道了你的意思 就是 下面的 代码 会自动创建根窗口 如果有了 也不会报错
我试了一下 把下面的注释掉 只运行root开头那两个 并没有变化
请问root 开头的事干啥玩意呢 谢谢
import tkinter as tk
import tkinter.filedialog
import os

root = tk.Tk()
root.withdraw()

zltzlt 发表于 2020-1-17 10:10:09

萌兔biubiu 发表于 2020-1-17 10:09
模模糊糊知道了你的意思 就是 下面的 代码 会自动创建根窗口 如果有了 也不会报错
我试了一下 把下面的 ...

就是创建一个 Tkinter 根窗口

萌兔biubiu 发表于 2020-1-17 10:16:53

zltzlt 发表于 2020-1-17 10:10
就是创建一个 Tkinter 根窗口

root.withdraw() 呢{:5_102:}

zltzlt 发表于 2020-1-17 10:18:41

萌兔biubiu 发表于 2020-1-17 10:16


withdraw()
-- 将窗口从屏幕上移除(并没有销毁)
-- 需要重新显示窗口,使用 deiconify() 方法
-- 该方法会使得 state() 返回 "withdrawn"

https://fishc.com.cn/forum.php?mod=viewthread&tid=61246&extra=page%3D1%26filter%3Dtypeid%26typeid%3D604
页: [1]
查看完整版本: 求助关于tkinter的问题