Tkinter - 在Windows资源管理器中打开目录窗口的方法

时间:2016-04-06 11:08:50

标签: python windows tkinter explorer

我一直在调查Tkinter,最近制作了一个小程序来监控文件夹并查看里面有多少文件。

我想创建在Windows资源管理器中打开文件夹的按钮,但我无法找到有关这样做的任何信息。

有人有任何想法吗?

干杯, 乔恩

感谢您的快速反应,我已经尝试了类似的东西,但我可能做错了什么。这是我的代码:

def open():
    os.system("explorer C:\\ folder dir")

label1 = Button(self, text="Pre TC", fg="red", font=("Ariel", 9, "bold"), command=open)

4 个答案:

答案 0 :(得分:1)

感谢大家的帮助,这是你的答案的组合,帮助了这个!

仍然不是100%为什么我做了什么工作,但我添加自己作为open()的参数如此开放(自我)并添加为命令self.open。所以我的问题中编辑过的代码如下所示:

def open(self):
    os.system("start C:/folder dir/")

button1= Button(self, text="Pre TC", fg="red", font=("Ariel", 9, "bold"), command=self.open)

(也更改了按钮的名称)

如果有人知道为什么自我论证必须存在,或者可以指向更多信息的方向,我将非常感激。

干杯! 乔恩

答案 1 :(得分:1)

您可以使用终端命令来执行此操作并制作一个按钮来调用此功能。 Windows 中的示例:

ret = name

其他有趣的终端命令:

from tkinter import *       
from tkinter.ttk import *
import os
 
# opening any folder 
def openFolder():
    path='C:'
    command = 'explorer.exe ' + path
    os.system(command)

root = Tk()         
root.geometry('100x100')    
btn = Button(root, text = 'Click me !',command = openFolder)
btn.pack(side = 'top')    
root.mainloop()

使用命令

答案 2 :(得分:0)

您无法在Label项目上使用命令选项。尝试制作一个按钮,它应该可以工作!

答案 3 :(得分:0)

当您调用在label1或button1是对象的相同类名下定义的函数时,必须使用

self。否则,您将获得Tkinter回调异常,因为找不到该函数。

这就是为什么重命名打开self.open工作