2013-05-01 75 views
1

我正在尝试编写一个程序,它将控制资产命名和文件系统放置到我们的服务器。我一直在用Python编写它,并且感谢这里的每个人以及大量关于stackoverflow的信息。使用Python重写Windows公共文件对话框(和其他打开/保存文件对话框窗口)

这就是说,我无法找到任何我想要采取的下一步。我最好希望我的程序运行而不是Windows/Linux Common File Dialog方法。例如,当某人在程序中按下“保存”按钮或“打开”按钮时,我想让我的程序打开并成为人们查找和保存文件的方式。我可以把它作为一个中间系统来运行(在保存或公开呼叫时运行,但是然后将其信息返回到本地对话框),但希望它接管。我想我需要编写一个deamon程序来听取适当的呼叫和拦截,但我不确定。任何帮助都会很棒。提前致谢!

-Louis

+0

听起来好像你想覆盖所有应用程序中的文件对话框。那是对的吗? – 2013-05-01 20:04:04

+0

这就是我的理解。他想要替换windows/linux上的默认打开文件对话框。 – tessi 2013-05-01 20:20:39

+0

的确,我想覆盖Windows和Linux中所有应用程序的文件对话框。或者至少让我的程序在任何应用程序调用Open/Save/Save-As时运行。我的程序旨在提供标准的命名协议,并帮助引导用户到他们正在创建或尝试查找的文档的所需位置。 – GripReality 2013-05-01 20:30:07

回答

0

链接 '保存为' 和 '打开' 按钮这些;它非常适合我:

def onOpen(self): 
    ftypes = [('Python files', '*.py'), ('All files', '*')] 
    dlg = Tkinter.FileDialog.Open(self, filetypes = ftypes) 
    fl = dlg.show() 

    if fl != '': 
     text = self.readFile(fl) 
     self.txt.insert(END, text) 

def onSave_as(self): 
    savefile = Tkinter.FileDialog.asksaveasfile(mode = 'w', defaultextension=".txte") 
    self.parent.title("myTxtEditor") 
    if savefile is None: 
     return 
    text2save = str(self.txt.get(1.0, END)) 
    savefile.write(text2save) 
    savefile.close()