Bonjour,

J'ai créé une interface en pygtk. Quand je clique sur le bouton du correcteur orthographique, il exécute la fonction on_Abc_clicked. Voici le code :
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
def on_Abc_clicked(self, widget):
    def abc():
                def validAbc(self,widget):
                        chk_dlg.updateUI()
                        textbuff = buff.get_buffer()
                        textbuff.set_text(chkr.get_text())
                        chk_dlg.destroy()
                for zone in [self.desc,self.ingr,self.prep,self.cons]:
                        if zone.has_focus():
                                buff=zone
                                textbuffer = zone.get_buffer()
                                text = textbuffer.get_text(textbuffer.get_start_iter(),textbuffer.get_end_iter())
                                printf(["BEFORE:", text])
                                chkr = SpellChecker("fr",text)
                                chk_dlg = GtkSpellCheckerDialog()
                                chk_dlg.set_icon_from_file('favicon1.ico')
                                chk_dlg.show()
                                chk_dlg.connect('delete_event', validAbc)
                                chk_dlg.setSpellChecker(chkr)
                                chk_dlg.updateUI()
    self.desc.grab_focus()
    abc()
    self.ingr.grab_focus()
    abc()
Ce qui est exécuté en premier est donc ce qui est à la fin, en gras.
C'est là que mon problème se pose : les 2 commandes abc se lancent simultanément et donc 2 fenêtres s'ouvrent en même temps. Ce que je voudrais, c'est que la seconde commande abc se lance quand la première est terminée.

Comment puis-je faire ceci ?

En vous remerciant par avance pour votre aide,

Floréal.