bonjour,
voici un extrait de programme qui affiche une valeur initiale à 0.
Lorsque je veux modifier sa valeur, j'ouvre une boite de dialogue, mais il ne se passe rien lors de la validation.
Après bien des essais, je ne trouve pas la solution...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()