Vediamo un esempio piccolissimo, di nessuna utilità se non per impratichirci sull'argomento.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import wx, os.path
class FileDrop(wx.FileDropTarget):
def __init__(self, window):
wx.FileDropTarget.__init__(self)
self.window = window
def OnDropFiles(self, x, y, filenames):
for name in filenames:
try:
self.window.WriteText(name + ':\n')
file = open(name, 'r')
text = file.read()
self.window.WriteText(text.strip())
file.close()
self.window.WriteText('\n\n*** ' +
os.path.basename(name) + '\n\n')
except IOError, error:
dlg = wx.MessageDialog(None, 'Error opening file\n' +
str(error))
dlg.ShowModal()
except UnicodeDecodeError, error:
dlg = wx.MessageDialog(None,
'Cannot open non ascii files\n' + str(error))
dlg.ShowModal()
class DropFile(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size = (450, 400))
self.text = wx.TextCtrl(self, -1, style = wx.TE_MULTILINE)
dt = FileDrop(self.text)
self.text.SetDropTarget(dt)
self.Centre()
self.Show(True)
app = wx.App()
DropFile(None, -1, 'filedrop.py')
app.MainLoop()
Come vedete è semplicissimo, dai ormai dovreste sapere tutto quanto!Indice di "Mission Python" qui.
Alla prossima.
Nessun commento:
Posta un commento