我正在编写一个小程序,在某些情况下,它会打开两个不同的文件浏览器。

起初,用户可以选择一个文件夹。如果该文件适合他,他可以关闭文件资源管理器窗口,另一个可以打开用户选择特定文件的窗口。

就像第二个文件浏览器打开一样,一个tkinter窗口也会打开。

我已经打电话给tk.withdraw()是第一个浏览器调用。

这是产生麻烦的代码片段:

def get_input_files():

root = Tk()

root.withdraw()

input_files = get_input_folders_with_file_browser(root) # let the user select files through the file browser

if len(input_files) == 0: # if not files where selected

input_files = get_input_files_with_file_browser(root)

input_files = list(input_files)

for file in input_files:

if os.path.isdir(file):

for sub_file in os.listdir(file):

sub_file = os.path.join(file, sub_file)

input_files.append(sub_file)

return input_files

def get_input_files_with_file_browser(root):

try:

root.iconbitmap(default ='data/Logo/LogoCut_image.ico') # Set icon of the file explorer

except:

draw_line()

print("No icon for file explorer found.")

draw_line()

working_dir = os.getcwd() # Get working dir

filenames = filedialog.askopenfilenames(initialdir = working_dir , title ="Choose your files!", filetypes = (('.jpg files', '*.jpg'),("All files", '*')))

files = Tk().tk.splitlist(filenames) # to array

return files

def get_input_folders_with_file_browser(root):

try:

root.iconbitmap(default ='data/Logo/LogoCut_image.ico') # Set icon of the file explorer

except:

draw_line()

print("No icon for file explorer found.")

draw_line()

working_dir = os.getcwd() # Get working dir

filenames = filedialog.askdirectory(initialdir = working_dir , title ="Choose your folders!")

files = Tk().tk.splitlist(filenames) # to array

return files我试着在代码中的不同位置多次调用它,但是额外的窗口不断显示出来。

有没有人有一个想法,我怎么能够隐藏额外的窗口?

希望得到一些很好的答案。

法比安

python tk窗口 选择 销毁_Python tkinter - 删除其他窗口 - 已调用tk.withdraw()相关推荐

  1. python frame如何置顶_Python tkinter frame父窗口小部件排列列

    我把滚动条放在一个框架里,框架放在一个小部件里.这个框架上面有一个标签.上面的标签有三列.带有滚动条的框架有三列.我无法让框架内和框架上方的三根柱子对齐.在 如果您能帮我排好纵队,我们将不胜感激.谢谢 ...

  2. python tkinter 窗口禁止编辑_python tkinter禁用文本窗口中的换行

    在下面的代码中,我正在寻找一种方法来禁用文本小部件中的换行符.我只需要使用一个条目小部件,但是条目没有撤销功能.在 当我在文本小部件中按enter键时,parse函数会根据需要调用,但它也会转到下一行 ...

  3. python画星空的程序_Python Tkinter 应用程序窗口

    Application Windows Base Windows In the simple examples we've used this far, there's only one window ...

  4. python 提示框如何顶层显示_Python Tkinter Toplevel顶层窗口

    Toplevel小部件用于创建和显示由窗口管理器直接管理的顶层窗口.顶层窗口小部件可能有也可能没有父窗口. 当python应用程序需要在新窗口中表示一些额外信息,弹出窗口或小组件组时,将使用tople ...

  5. python的窗口处理模块_Python tkinter模块弹出窗口及传值回到主窗口操作详解

    本文实例讲述了Python tkinter模块弹出窗口及传值回到主窗口操作.分享给大家供大家参考,具体如下: 有些时候,我们需要使用弹出窗口,对程序的运行参数进行设置.有两种选择 一.标准窗口 如果只 ...

  6. python炫酷动画源代码_Python tkinter实现的图片移动碰撞动画效果【附源码下载】...

    本文实例讲述了Python tkinter实现的图片移动碰撞动画效果.分享给大家供大家参考,具体如下: 先来看看运行效果: 具体代码如下: #!/usr/bin/python # -*- coding ...

  7. python资源管理器选择文件_Python:在资源管理器中获取选定文件的列表(windows7)...

    我知道现在在这里发布答案有点晚了,但我几个月前尝试过Olav的解决方案,但它没有完全起作用:工作目录是脚本的工作目录,所以我不得不删除if条件才能使其工作,但它选择了所有Windows资源管理器窗口中 ...

  8. python打开窗口显示倒计时_python实现的简单窗口倒计时界面实例

    本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # ...

  9. python中stringvar的用法_Python tkinter.StringVar方法代码示例

    本文整理汇总了Python中tkinter.StringVar方法的典型用法代码示例.如果您正苦于以下问题:Python tkinter.StringVar方法的具体用法?Python tkinter ...

最新文章

  1. .NET防SQL注入方法
  2. Mac FinalShell 连接 VirtualBox 命令行卡顿
  3. g711u与g729比较编码格式
  4. (58)模拟线程切换——添加挂起、恢复线程功能
  5. 百度网盘API调用二
  6. 用UE4创造开放世界:Kite 实时演示
  7. 从零开始学 Java - Spring MVC 统一异常处理
  8. 步骤菜单使用css3实现
  9. Java学习笔记2.1.2 Java基本语法 - Java三种注释方式
  10. php fpm高并发,php-fpm 高并发、502解决方案
  11. 奥迪A8的L3级自动驾驶方案---奥迪A8的zFAS
  12. 视频教程-大数据与数据仓库入门到精通-Hadoop
  13. 敏捷管理的利器:故事墙
  14. pymol Windows安装
  15. 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具
  16. windows 10 ISO 纯净版 官方来源
  17. Probability Through Experiments
  18. vCenter通过vMotion迁移虚拟机条件
  19. this.$refs 获取不到解决办法
  20. 计算机的时钟设置错误,错误:系统时钟已被设置回过去的时间。 这是不允许的!...

热门文章

  1. JavaScript 教程「9」:DOM 元素获取、属性修改
  2. VB封装的WebSocket模块,拿来即用
  3. ddtv.space index.php,图解MongoDB原理(二)
  4. QCM6490 QUDTT测试
  5. 少年中国说——梁启超〔近现代〕
  6. 2021Java面试心得:java性能优化实践pdf
  7. 我只是一名创业者,不是成功者
  8. 通知公众平台php,微信公众平台开发模板消息
  9. 今天老夫就把完全背包的底裤给你扒出来瞅瞅!!!
  10. shader编程-三维场景下SDF建模,平滑交集、平滑并集、平滑差集(WebGL-Shader开发基础11)