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
|
#!/usr/bin/python
# -*- coding: utf-8 -*-
import MySQLdb
from Tkinter import *
import tkFont
from ScrolledText import *
import os
class Application(object):
def __init__(self):
self.root=Tk()
self.root.title('pygvz')
# print tkFont.families()
self.patFont = tkFont.Font(root=self.root,family='Liberation Serif', size=12 )
self.codeToArray={}
# lecture des dimensions de l'ecran
self.w, self.h = self.root.winfo_screenwidth(), self.root.winfo_screenheight()
print self.w , self.h
self.root.geometry("%dx%d+0+0" % (self.w, self.h))
#fen1.overrideredirect(1) # permet de cacher le menu haut
# fenetre 1 bouton contextuel
self.fen1=Frame(self.root,bg='lightblue')
self.fen1.grid(row=0, column = 0,sticky='NW')
self.bou1 = Button(self.fen1, text='Quitter', command = self.root.destroy,height=1)
self.bou1.grid(row=0,column=0)
# fenetre 2 le fichier texte
self.fen2=Frame(self.root,bg='pink')
self.fen2.grid(row=0, column = 1,sticky='NW')
self.canvas = Canvas ( self.fen2 , width=600 , height=500 , bg='white' )
self.canvas.grid( row = 0 , column = 1 )
self.canvas.bind("<Button-1>", self.callback)
self.init_source()
self.code = self.canvas.create_text(10,10,text='bonjour', font = self.patFont)
self.i = 0
self.x = 50
self.y = 20
while self.i< len(self.texte):
if self.texte[self.i]== '\n' :
self.x = 50
self.y += 20
else :
#self.font = font = "Helvetica 12"
self.code = self.canvas.create_text(self.x,self.y,text=self.texte[self.i], font = self.patFont)
print self.texte[self.i] + ' ' + str(self.patFont.measure(self.texte[self.i]))
self.codeToArray[self.code] = (self.x,self.y)
self.x += self.patFont.measure(self.texte[self.i]) - 1
self.i += 1
self.root.mainloop()
def callback(self,event):
self.x1, self.y1 = event.x, event.y
print str(event.x) + ' ' + str(event.y)
self.endroit = []
self.endroit =(event.x,event.y)
self.selObject = self.canvas.find_closest(self.x1, self.y1)
print self.selObject
print 'dimensions : '
print self.selObject[0].winfo_width()
def init_source(self):
self.fichier = open('test.txt','r')
self.texte = self.fichier.read()
self.fichier.close()
def replaceTexte():
self.texte = self.texte.replace('=',' = ')
def handler(self,event):
print self.bouton[event.widget]
self.efface_DB(self.bouton[event.widget])
if __name__ == '__main__':
f= Application() |
Partager