Essenciel :
je vous explique les utilitaires (même si il n'y en pas besoin...) :
Onglet apparence :
couleur relief :
1 couleur de la page (...)
2 relief (si vous mettez rien alors "Pas de relief" se mettera)
3 taille des relief (...)
titre :
1 titre (titre sur la barre de tache; ne pas utiliser avec la fonction ci dessous)
barre de tache (supprimer la barre de tache)
onglet objet :
Fenetre pour dessiner (...)
taille (...)
Label 1-3
texte sur le label (...)
couleur de fond + texte (...)
relief (si vous mettez rien alors "Pas de relief" se mettera)
Bouton quitter (...)
texte sur le bouton (...)
couleur de fond + texte (...)
relief (si vous mettez rien alors "Pas de relief" se mettera)
Disble (pour desactiver le bouton)
les +
c'est simple
creer
1 entrer le nom du fichier affin de le creer
2 ...
Source / Exemple :
# -*- coding: cp1252 -*-
import Tkinter
import Pmw
from tkMessageBox import *
colours = ('Relief sortant', 'Relief rentrant', 'Pas de relief', 'Crête','Sillon', 'Bordure')
flag=[0,0,0,0,0,[Tkinter.RAISED,Tkinter.FLAT,Tkinter.FLAT,Tkinter.FLAT,Tkinter.FLAT],0,0,0,0]
class Demo:
def __init__(self, parent):
parent.bind('<Control-s>',self.cf)
self.parent=parent
# Create and pack the NoteBook.
self.notebook = Pmw.NoteBook(parent)
self.notebook.pack( expand = 1, padx = 10, pady = 10)
# Add the "Appearance" page to the notebook.
self.page4 = self.notebook.add(' Apparence ')
self.notebook.tab(' Apparence ').focus_set()
self.page = self.notebook.add(' Objet ')
self.notebook.tab(' Objet ').focus_set()
self.page2 = self.notebook.add(' les + ')
self.notebook.tab(' les + ').focus_set()
self.page3 = self.notebook.add(' creer ')
self.notebook.tab(' creer ').focus_set()
# Create the "Toolbar" contents of the page.
self.group4 = Pmw.Group(self.page4, tag_text = 'Couleur')
self.group4.pack(fill = 'both', expand = 1, padx = 20, pady = 20)
self.group5 = Pmw.Group(self.page, tag_text = 'Canvas')
self.group5.pack(fill = 'both', expand = 1, padx = 20, pady = 20)
self.group2 = Pmw.Group(self.page, tag_text = 'Label')
self.group2.pack(fill = 'both', expand = 1, padx = 20, pady = 20)
self.group6 = Pmw.Group(self.page4, tag_text = 'Titre')
self.group6.pack(fill = 'both', expand = 1, padx = 20, pady = 20)
self.group65 = Pmw.Group(self.page4, tag_text = 'Bare de tache')
self.group65.pack(fill = 'both', expand = 1, padx = 20, pady = 20)
self.group2_1 = Pmw.Group(self.group2.interior(), tag_text = 'Label-1')
self.group2_1.grid( row = 0, column = 0,padx = 10, pady =10)
self.group2_2 = Pmw.Group(self.group2.interior(), tag_text = 'Label-2')
self.group2_2.grid( row = 0, column = 1,padx = 10, pady =10)
self.group2_3 = Pmw.Group(self.group2.interior(), tag_text = 'Label-3')
self.group2_3.grid( row = 1, column = 0,padx = 10, pady =10)
self.b5=Tkinter.Button(self.page3,text='Creer le fichier',command=self.cf)
self.b5.grid(row = 1, column = 0,columnspan=2 ,padx = 50, pady = 40)
self.group3 = Pmw.Group(self.page, tag_text = 'Bouton')
self.group3.pack(fill = 'both', expand = 1, padx = 20, pady = 20)
self.group = Pmw.Group(self.group3.interior(), tag_text = 'Bouton quiter')
self.group.grid(row = 0, column = 0, padx = 10, pady = 10)
self.group0 = Pmw.Group(self.page2, tag_text = 'Importation en +')
self.group0.pack(padx = 10, pady = 10)
self.group01 = Pmw.Group(self.page2, tag_text = 'definition en +')
self.group01.pack(padx = 10, pady = 10)
self.group02 = Pmw.Group(self.page2, tag_text = 'widjet en +')
self.group02.pack(padx = 10, pady = 10)
self.b1 = Tkinter.Checkbutton(self.group.interior(), text = 'Bouton quiter',command=self.but)
self.b1.grid(row = 0, column = 0)
self.b6 = Tkinter.Checkbutton(self.group4.interior(), text = 'couleur/relief',command=self.but6)
self.b6.grid(row = 0, column = 0)
self.b7 = Tkinter.Checkbutton(self.group6.interior(), text = 'Titre',command=self.but7)
self.b7.grid(row = 1, column = 0)
self.Ent = Tkinter.Entry(self.page3)
self.Ent.grid(row = 0, column = 1)
self.Ent.insert('0','1.py')
self.Lab = Tkinter.Label(self.page3,text='Localisation :')
self.Lab.grid(row = 0, column = 0)
self.b2 = Tkinter.Checkbutton(self.group2_1.interior(), text = 'Label-1',command=self.lab1)
self.b2.grid(row = 0, column = 0)
self.b3 = Tkinter.Checkbutton(self.group2_2.interior(), text = 'Label-2',command=self.lab2)
self.b3.grid(row = 0, column = 0)
self.bb = Tkinter.Checkbutton(self.group5.interior(), text = 'Fenetre pour dessiner',command=self.labb)
self.bb.grid(row = 0, column = 0)
self.b4 = Tkinter.Checkbutton(self.group2_3.interior(), text = 'Label-3',command=self.lab3)
self.b4.grid(row = 0, column = 0)
self.b45 = Tkinter.Checkbutton(self.group65.interior(), text = 'Barre de tache',command=self.aegis2)
self.b45.grid(row = 0, column = 0)
self.txt=Pmw.ScrolledText(self.group0.interior(),borderframe = 1,
usehullsize = 1,
hull_width =200,hull_height =100,
text_padx = 10,text_pady = 10)
self.txt.pack()
self.txt1=Pmw.ScrolledText(self.group01.interior(),borderframe = 1,
usehullsize = 1,
hull_width =200,hull_height =100,
text_padx = 10,text_pady = 10)
self.txt1.pack()
self.txt2=Pmw.ScrolledText(self.group02.interior(),borderframe = 1,
usehullsize = 1,
hull_width =200,hull_height =100,
text_padx = 10,text_pady = 10)
self.txt2.pack()
self.notebook.setnaturalsize()
def cf(self,event=None) :
if flag[1] :
a1 = '\nLabel(text="%s",bg="%s",fg="%s",relief="%s").pack()'%(self.ent1.get(),self.ent1_.get(),self.ent1__.get(),flag[5][1])
else :
a1=''
if flag[2] :
a2 = '\nLabel(text="%s",bg="%s",fg="%s",relief="%s").pack()'%(self.ent2.get(),self.ent2_.get(),self.ent2__.get(),flag[5][2])
else :
a2=''
if flag[3] :
a3 = '\nLabel(text="%s",bg="%s",fg="%s",relief="%s").pack()'%(self.ent3.get(),self.ent3_.get(),self.ent3__.get(),flag[5][3])
else :
a3=''
if flag[4]:
a35='disable'
else :
a35='normal'
if flag[0] :
a4 = '\nButton(text="%s",bg="%s",fg="%s",command=exit,stat="%s",relief="%s").pack()'%(self.ent.get(),self.ent_.get(),self.ent__.get(),a35,flag[5][0])
else :
a4=''
if flag[6] :
a5 = '\nroot.configure(bg="%s",relief="%s",bd=%s)'%(self._ent.get(),flag[5][4],self._ent_.get())
else :
a5=''
if flag[7] :
a6 = '\nroot.title("%s")'%(self.__ent.get())
else :
a6='\nroot.title("Tk")'
if flag[8] :
a7 ="""
def bit (event) :
can.create_line(event.x,event.y,event.x+1,event.y+1,fill='grey100')"""
a8= """can = Canvas(bg='grey0',height=%s,width=%s)
can.pack()
can.bind('<Motion>',bit)"""%(self.ae.get(),self.ae.get())
else :
a8=a7=''
if flag[9] :
a9='\nroot.overrideredirect(TRUE)'
else :
a9=''
self.main="""####Importation####
from Tkinter import *
%s
from sys import exit
####/Importation####
####Fonctions####
%s
%s
####/Fonctions####
####Widjet####
root=Tk()%s%s%s%s%s%s%s
%s
%s
root.mainloop()
####/Widjet####"""%(self.txt.get(),a7,self.txt1.get(),a1,a2,a9,a3,a4,a5,a6,a8,self.txt2.get())
open(self.Ent.get(),'w+').write(self.main)
self.parent.bell()
def but (self):
global flag
if flag[0]:
flag[0]=0
self.lab.destroy()
self.ent.destroy()
self.lab_.destroy()
self.ent_.destroy()
self.lab__.destroy()
self.ent__.destroy()
self.b5.destroy()
self.dropdown.destroy()
flag[5][0]=Tkinter.RAISED
self.notebook.setnaturalsize()
else :
flag[0]=1
self.ent=Tkinter.Entry(self.group.interior())
self.ent.grid(row = 1, column = 1)
self.lab=Tkinter.Label(self.group.interior(),text='Texte sur le bouton :')
self.lab.grid(row = 1, column = 0)
self.ent_=Tkinter.Entry(self.group.interior())
self.ent_.grid(row = 2, column = 1)
self.lab_=Tkinter.Label(self.group.interior(),text='Couleur de fond :')
self.lab_.grid(row = 2, column = 0)
self.ent__=Tkinter.Entry(self.group.interior())
self.ent__.grid(row = 3, column = 1)
self.lab__=Tkinter.Label(self.group.interior(),text='couleur du texte :')
self.lab__.grid(row = 3, column = 0)
self.ent__.insert ('0','grey0')
self.ent_.insert ('0','grey100')
self.b5 = Tkinter.Checkbutton(self.group.interior(), text = '<= Disable',command=self.but1)
self.b5.grid(row = 4, column = 0,columnspan=2)
self.dropdown = Pmw.ComboBox(self.group.interior(),
label_text = 'Relief : ',
labelpos = 'nw',
selectioncommand = self.but2,
scrolledlist_items = colours,
)
self.dropdown.grid(row = 5, column = 0,columnspan=2)
self.notebook.setnaturalsize()
def but6 (self):
global flag
if flag[6]:
flag[6]=0
self._ent.destroy()
self._lab.destroy()
self._lab_.destroy()
self._ent_.destroy()
self.dropdown4.destroy()
self.notebook.setnaturalsize()
flag[5][4]=Tkinter.FLAT
else :
flag[6]=1
self._ent=Tkinter.Entry(self.group4.interior())
self._ent.grid(row = 1, column = 1)
self._lab=Tkinter.Label(self.group4.interior(),text='couleur de la page :')
self._lab.grid(row = 1, column = 0)
self._ent.insert('0','grey')
self._ent_=Tkinter.Entry(self.group4.interior())
self._ent_.grid(row = 3, column = 1)
self._lab_=Tkinter.Label(self.group4.interior(),text='taille des relief :')
self._lab_.grid(row = 3, column = 0)
self._ent_.insert('0','3')
self.dropdown4 = Pmw.ComboBox(self.group4.interior(),
label_text = 'Relief : ',
labelpos = 'nw',
selectioncommand = self.but5,
scrolledlist_items = colours,
)
self.dropdown4.grid(row = 2, column = 0,columnspan=2)
self.notebook.setnaturalsize()
def but7 (self):
global flag
if flag[7]:
flag[7]=0
self.__ent.destroy()
self.__lab.destroy()
self.notebook.setnaturalsize()
else :
flag[7]=1
self.__ent=Tkinter.Entry(self.group6.interior())
self.__ent.grid(row = 2, column = 1)
self.__ent.insert('0','Tk')
self.__lab=Tkinter.Label(self.group6.interior(),text='Titre :')
self.__lab.grid(row = 2, column = 0)
self.notebook.setnaturalsize()
def labb (self):
global flag
if flag[8]:
self.ae.destroy()
self.ae2.destroy()
flag[8]=0
else :
flag[8]=1
self.ae=Tkinter.Entry(self.group5.interior())
self.ae.insert('0','50')
self.ae.grid(row = 1, column = 1)
self.ae2=Tkinter.Label(self.group5.interior(),text='Taille :')
self.ae2.grid(row = 1, column = 0)
def but1 (self):
global flag
if flag[4]:
flag[4]=0
else :
flag[4]=1
def aegis2 (self):
global flag
if flag[9]:
flag[9]=0
else :
flag[9]=1
def but2 (self,oo):
global flag
if oo == 'Relief sortant' :
flag[5][0]=Tkinter.RAISED
elif oo == 'Relief rentrant' :
flag[5][0]=Tkinter.SUNKEN
elif oo == 'Pas de relief' :
flag[5][0]=Tkinter.FLAT
elif oo == 'Crête' :
flag[5][0]=Tkinter.RIDGE
elif oo == 'Sillon' :
flag[5][0]=Tkinter.GROOVE
elif oo == 'Bordure' :
flag[5][0]=Tkinter.SOLID
def but3 (self,oo):
global flag
if oo == 'Relief sortant' :
flag[5][1]=Tkinter.RAISED
elif oo == 'Relief rentrant' :
flag[5][1]=Tkinter.SUNKEN
elif oo == 'Pas de relief' :
flag[5][1]=Tkinter.FLAT
elif oo == 'Crête' :
flag[5][1]=Tkinter.RIDGE
elif oo == 'Sillon' :
flag[5][1]=Tkinter.GROOVE
elif oo == 'Bordure' :
flag[5][1]=Tkinter.SOLID
def but4 (self,oo):
global flag
if oo == 'Relief sortant' :
flag[5][2]=Tkinter.RAISED
elif oo == 'Relief rentrant' :
flag[5][2]=Tkinter.SUNKEN
elif oo == 'Pas de relief' :
flag[5][2]=Tkinter.FLAT
elif oo == 'Crête' :
flag[5][2]=Tkinter.RIDGE
elif oo == 'Sillon' :
flag[5][2]=Tkinter.GROOVE
elif oo == 'Bordure' :
flag[5][2]=Tkinter.SOLID
def but5 (self,oo):
global flag
if oo == 'Relief sortant' :
flag[5][3]=Tkinter.RAISED
elif oo == 'Relief rentrant' :
flag[5][3]=Tkinter.SUNKEN
elif oo == 'Pas de relief' :
flag[5][3]=Tkinter.FLAT
elif oo == 'Crête' :
flag[5][3]=Tkinter.RIDGE
elif oo == 'Sillon' :
flag[5][3]=Tkinter.GROOVE
elif oo == 'Bordure' :
flag[5][3]=Tkinter.SOLID
def but5 (self,oo):
global flag
if oo == 'Relief sortant' :
flag[5][4]=Tkinter.RAISED
elif oo == 'Relief rentrant' :
flag[5][4]=Tkinter.SUNKEN
elif oo == 'Pas de relief' :
flag[5][4]=Tkinter.FLAT
elif oo == 'Crête' :
flag[5][4]=Tkinter.RIDGE
elif oo == 'Sillon' :
flag[5][4]=Tkinter.GROOVE
elif oo == 'Bordure' :
flag[5][4]=Tkinter.SOLID
def lab1 (self):
global flag
if flag[1]:
flag[1]=0
self.lab1.destroy()
self.ent1.destroy()
self.lab1_.destroy()
self.ent1_.destroy()
self.lab1__.destroy()
self.ent1__.destroy()
self.dropdown1.destroy()
flag[5][1]=Tkinter.FLAT
self.notebook.setnaturalsize()
else :
flag[1]=1
self.ent1=Tkinter.Entry(self.group2_1.interior())
self.ent1.grid(row = 1, column = 1)
self.lab1=Tkinter.Label(self.group2_1.interior(),text='Texte sur le label :')
self.lab1.grid(row = 1, column = 0)
self.ent1_=Tkinter.Entry(self.group2_1.interior())
self.ent1_.grid(row = 2, column = 1)
self.lab1_=Tkinter.Label(self.group2_1.interior(),text='Couleur de fond :')
self.lab1_.grid(row = 2, column = 0)
self.ent1__=Tkinter.Entry(self.group2_1.interior())
self.ent1__.grid(row = 3, column = 1)
self.lab1__=Tkinter.Label(self.group2_1.interior(),text='couleur du texte :')
self.lab1__.grid(row = 3, column = 0)
self.ent1__.insert ('0','grey0')
self.ent1_.insert ('0','grey100')
self.dropdown1 = Pmw.ComboBox(self.group2_1.interior(),
label_text = 'Relief : ',
labelpos = 'nw',
selectioncommand = self.but3,
scrolledlist_items = colours,
)
self.dropdown1.grid(row = 5, column = 0,columnspan=2)
self.notebook.setnaturalsize()
def lab2 (self):
global flag
if flag[2]:
flag[2]=0
self.lab2.destroy()
self.ent2.destroy()
self.lab2_.destroy()
self.ent2_.destroy()
self.lab2__.destroy()
self.ent2__.destroy()
self.dropdown2.destroy()
flag[5][2]=Tkinter.FLAT
self.notebook.setnaturalsize()
else :
flag[2]=1
self.ent2=Tkinter.Entry(self.group2_2.interior())
self.ent2.grid(row = 1, column = 1)
self.lab2=Tkinter.Label(self.group2_2.interior(),text='Texte sur le label :')
self.lab2.grid(row = 1, column = 0)
self.ent2_=Tkinter.Entry(self.group2_2.interior())
self.ent2_.grid(row = 2, column = 1)
self.lab2_=Tkinter.Label(self.group2_2.interior(),text='Couleur de fond :')
self.lab2_.grid(row = 2, column = 0)
self.ent2__=Tkinter.Entry(self.group2_2.interior())
self.ent2__.grid(row = 3, column = 1)
self.lab2__=Tkinter.Label(self.group2_2.interior(),text='couleur du texte :')
self.lab2__.grid(row = 3, column = 0)
self.ent2__.insert ('0','grey0')
self.ent2_.insert ('0','grey100')
self.dropdown2 = Pmw.ComboBox(self.group2_2.interior(),
label_text = 'Relief : ',
labelpos = 'nw',
selectioncommand = self.but4,
scrolledlist_items = colours,
)
self.dropdown2.grid(row = 5, column = 0,columnspan=2)
self.notebook.setnaturalsize()
def lab3 (self):
global flag
if flag[3]:
flag[3]=0
self.lab3.destroy()
self.ent3.destroy()
self.lab3_.destroy()
self.ent3_.destroy()
self.lab3__.destroy()
self.ent3__.destroy()
self.dropdown3.destroy()
flag[5][3]=Tkinter.FLAT
self.notebook.setnaturalsize()
else :
flag[3]=1
self.ent3=Tkinter.Entry(self.group2_3.interior())
self.ent3.grid(row = 1, column = 1)
self.lab3=Tkinter.Label(self.group2_3.interior(),text='Texte sur le label :')
self.lab3.grid(row = 1, column = 0)
self.ent3_=Tkinter.Entry(self.group2_3.interior())
self.ent3_.grid(row = 2, column = 1)
self.lab3_=Tkinter.Label(self.group2_3.interior(),text='Couleur de fond :')
self.lab3_.grid(row = 2, column = 0)
self.ent3__=Tkinter.Entry(self.group2_3.interior())
self.ent3__.grid(row = 3, column = 1)
self.lab3__=Tkinter.Label(self.group2_3.interior(),text='couleur du texte :')
self.lab3__.grid(row = 3, column = 0)
self.ent3__.insert ('0','grey0')
self.ent3_.insert ('0','grey100')
self.dropdown3 = Pmw.ComboBox(self.group2_3.interior(),
label_text = 'Relief : ',
labelpos = 'nw',
selectioncommand = self.but5,
scrolledlist_items = colours,
)
self.dropdown3.grid(row = 5, column = 0,columnspan=2)
self.notebook.setnaturalsize()
######################################################################
if __name__ == '__main__':
root = Tkinter.Tk()
Pmw.initialise(root)
widget = Demo(root)
root.mainloop()
Conclusion :
/
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.