Interface graphique pour en creer d'autre....

Contenu du snippet

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 :


/

A voir également

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.