1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
| import tkinter
import tkinter.filedialog as tkFileDialog
import tkinter.ttk as ttk
import os
import sys
class Application():
def __init__(self,to_open):
self.root = tkinter.Tk()
self.onglet = ttk.Notebook(self.root)
self.onglet.pack()
self.fc=Fichier(self.root,self.onglet)
self.b1=tkinter.Button(self.root,text='Ouvrir',command=self.fc.ouvrir_bouton)
self.b1.pack(side=tkinter.LEFT)
self.b2=tkinter.Button(self.root,text='Quitter',command=self.fc.fermer)
self.b2.pack(side=tkinter.RIGHT)
if to_open:
self.fc.ouvrir(to_open)
else:
self.fc.nouvelle_feuille()
self.root.mainloop()
class Fichier():
def __init__(self,root, onglet):
#Appel des variables
self.fe = root
self.ong = onglet
self.date_modif=os.path.getmtime(r'c:\test_ouverture.gab')
self.verification()
def _new_sheet(self, nom_fichier):
"""création d'une nouvelle feuille"""
f1 = tkinter.Frame(self.ong, bg='gray', bd=1)
texte1 = tkinter.Text(f1, wrap=tkinter.WORD)
s1 = tkinter.Scrollbar(f1, orient=tkinter.VERTICAL)
s1.config(command=texte1.yview)
texte1.config(yscrollcommand=s1.set)
self.ong.add(f1, text=nom_fichier)
texte1.grid(row=0,column=0,padx=10, sticky=tkinter.S+tkinter.N)
s1.grid(row=0,column=1, sticky=tkinter.S+tkinter.N)
texte1.focus_set()
return texte1
def nouvelle_feuille(self, event=None):
texte1=self._new_sheet('nouveau')
def ouvrir(self,fichier,event=None):
f=open(fichier,'r')
texte=f.read()
f.close()
texte1=self._new_sheet(os.path.basename(fichier))
texte1.insert(tkinter.INSERT,texte)
def ouvrir_bouton(self,event=None):
name = tkFileDialog.askopenfilename(filetypes =[("Tous", "*")])
if name:
self.ouvrir(name)
def fermer(self,event=None):
os.remove(r'c:\test_ouverture.gab')
self.fe.destroy()
def verification(self,event=None):
if os.path.getmtime(r'c:\test_ouverture.gab')!=self.date_modif:
self.date_modif=os.path.getmtime(r'c:\test_ouverture.gab')
f=open(r'c:\test_ouverture.gab','r')
op=f.read()
f.close()
self.ouvrir(op)
self.fe.after(1000,self.verification)
if __name__ == '__main__':
if len(sys.argv) > 1:
if os.path.exists(r'c:\test_ouverture.gab') ==False:
f=open(r'c:\test_ouverture.gab','w')
f.write(sys.argv[1])
f.close()
Application(sys.argv[1])
else:
f=open(r'c:\test_ouverture.gab','w')
f.write(sys.argv[1])
f.close()
else:
f=open(r'c:\test_ouverture.gab','w')
f.write('création')
f.close()
Application(None) |
Partager