2013-05-01 81 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()