Bonjour à tous,
Je me suis gravement planté ces derniers jours sur une situation qui ne cesse de me déranger les meninges. Voilà, j'ai un bout de code que voici:

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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
 
#! /usr/bin/python
 
import pygtk
pygtk.require('2.0')
import gtk
 
class HelloWorld2:
 
 
    def delete_event(self,widget,event):
        gtk.main_quit()
        return False
 
    def copie(self,widget,event,data=None):
        a=self.entry1.get_text()
        self.label=gtk.Label(a)
        self.frame.add(self.label)
        self.label.show()
        self.frame.show()
        self.table.show()       
 
    def get_main_menu(self,window):
        accel_group=gtk.AccelGroup()
        item_factory=gtk.ItemFactory(gtk.MenuBar,"<main>",accel_group)
        item_factory.create_items(self.menu_items)
        window.add_accel_group(accel_group)
        self.item_factory=item_factory
        return item_factory.get_widget("<main>")
 
    def print_hello(self, w, data):
        print "Hello, World!"
 
    def __init__(self):
        self.window=gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_title("")
        self.window.set_size_request(800,600)   
        self.window.connect("delete_event", self.delete_event)
        self.window.set_border_width(3)
 
        self.box1=gtk.VBox(False, 0)
        self.window.add(self.box1)
 
 
        self.button1=gtk.Button("Bouton 1    ")
        self.button1.connect("clicked",self.callback,"bouton 1")
 
 
        self.button2=gtk.Button("Copier")
        self.button2.connect("clicked",self.copie,"bouton2")
 
        self.separator=gtk.VSeparator()
        self.separator2=gtk.VSeparator()
 
        self.image=gtk.Image()
        self.image.set_from_file("/home/adjei/Logo.jpg")
 
        self.frame=gtk.Frame()
        self.label=gtk.Label("bonjour a tous")
        self.frame.add(self.label)
 
        ## Entries
        self.entry=gtk.Entry()
        self.entry.set_max_length(100)
        self.entry.set_text("")
        self.entry.set_visibility(1)
 
        self.entry1=gtk.Entry()
        self.entry1.set_max_length(100)
        self.entry1.set_visibility(1)
        self.entry1.show()
 
        self.menu_items = (
   ( "/_File",       None,       None, 0, "<Branch>" ),
   ( "/File/_New",    "<control>N", self.print_hello, 0, None ),
   ( "/File/_Open",    "<control>O", self.print_hello, 0, None ),
   ( "/File/_Save",    "<control>S", self.print_hello, 0, None ),
   ( "/File/Save _As", None,       None, 0, None ),
   ( "/File/sep1",    None,       None, 0, "<Separator>" ),
   ( "/File/Quit",    "<control>Q", gtk.main_quit, 0, None ),
   ( "/_Options",     None,       None, 0, "<Branch>" ),
   ( "/Options/Test", None,        None, 0, None ),
   ( "/_Help",       None,       None, 0, "<LastBranch>" ),
   ( "/_Help/About", None,         None, 0, None ),
   )
 
 
 
        self.menubar = self.get_main_menu(self.window)
 
 
        self.table=gtk.Table(20,10,True)
        self.table.attach(self.button1,0,2,6,7)
        self.table.attach(self.button2,0,2,7,8)      
        self.table.attach(self.entry,2,4,6,7)
        self.table.attach(self.separator,1,2,0,2)
        self.table.attach(self.separator2,4,5,6,20)       
        self.table.attach(self.image,0,11,0,4)
        self.table.attach(self.frame,5,11,6,20)
        self.table.attach(self.entry1,2,4,7,8)
        self.table.attach(self.menubar,0,11,4,5)
        self.menubar.show()
 
        self.button1.show()
        self.button2.show()
        self.entry.show()
        #self.separator.show()
        self.separator2.show() 
        self.image.show()
        self.table.show()
        self.frame.show()
        self.label.show()
 
        self.box1.pack_start(self.table,True,True,1)
        self.box1.set_border_width(2)
 
 
 
 
 
 
 
        self.box1.show()
        self.window.show()
 
    def main(self):
        gtk.main()
 
 
if __name__ =="__main__":
    hello=HelloWorld2()
    hello.main()
Voilà mon code. Mon problème se situe maintenant sur le fait que lorsque je veux mettre à jour le Label du Frame avec la portion de code suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
    def copie(self,widget,event,data=None):
        a=self.entry1.get_text()
        self.label=gtk.Label(a)
        self.frame.add(self.label)
        self.label.show()
        self.frame.show()
        self.table.show()
python me dit que le conteneur frame ne peut avoir à la fois deux Label. Comment dois je alors faire pour récupérer un texte et mettre mon self.label à jour? Merci d'avance.