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
|
#!/usr/bin/python
# -*- coding:Utf-8 -*-
# surleau
import pygtk
pygtk.require("2.0")
import gtk
import pango
class Modifier (gtk.Dialog):
def __init__(self):
gtk.Dialog.__init__(self,"Modifier",None,gtk.DIALOG_MODAL)
texte=gtk.Label("nombre à afficher:")
zoneTexte=gtk.Entry()
self.vbox.pack_start(texte)
self.vbox.pack_start(zoneTexte)
#mise en place des boutons
boutonA=gtk.Button(stock=gtk.STOCK_CANCEL)
boutonOK=gtk.Button(stock=gtk.STOCK_OK)
self.action_area.pack_start(boutonA, True, True, 0)
self.action_area.pack_start(boutonOK, True, True, 0)
#connections
boutonA.connect('clicked', self.eff)
boutonOK.connect('clicked', self.envoi,zoneTexte)
self.connect("destroy", self.eff)
self.show_all()
def eff(self,widget):
self.destroy()
def envoi(self, widget, a):
b=a.get_text() # Récupération de la valeur entrée
Surleau(b) # Appel de l'affichage (Surleau)
self.destroy()
class Surleau(gtk.Label):
"Nombre de sorties en cours ( vert si nbs=0 / orange si nbs>0 )"
def __init__(self, nbs=0):
gtk.Label.__init__(self)
self.qtt=nbs
self.afficheNbs()
def afficheNbs(self):
if (self.qtt>0):
self.set_markup('<span size="xx-large" color="#FFA500">%s</span>'%(self.qtt))
else:
self.set_markup('<span size="xx-large" color="#00FF00">%s</span>'%(self.qtt))
self.set_justify(gtk.JUSTIFY_CENTER)
pangoFont = pango.FontDescription("Sans Bold 36 ")
self.modify_font(pangoFont)
class Fenetre(gtk.Window):
def __init__(self, titre = "SurlEau"):
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
self.set_title(titre)
self.connect("destroy", gtk.main_quit)
self.set_border_width(5)
#
modif=gtk.Button(stock=gtk.STOCK_EDIT)
# Boite verticale
boite=gtk.VBox(homogeneous=False, spacing=0)
# les trucs dans la boite
boite.pack_start(modif, expand=True, fill=False, padding=0)
modif.connect("button_press_event", lambda w,e: Modifier())
# ============================================================== ?
cadres=gtk.Frame(" sorties en cours...")
cadres.add(Surleau())
# ============================================================== ?
boite.pack_start(cadres, False, True, 3)
# on place la boite dans la fenêtre
self.add(boite)
# On affiche tout
self.show_all()
def boucle(self):
gtk.main()
if __name__ == "__main__":
app = Fenetre()
app.boucle() |
Partager