J'ai plusieurs tabs ajoutés dynamiquement et ayant le même contenu (même boutons etc ..). Je suis en train d'essayer d'exécuter les actions sur chaque tab et là je me rends compte qu'à chaque changement d'un tab l'action sera exécutée plusieurs fois.

Voilà mon 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
25
26
27
self.tabs.blockSignals(True) 
self.tabs.currentChanged.connect(self.onChange) 
self.tabs.blockSignals(False) 
....
 
def onChange(self):
 
        index = self.tabs.currentIndex()
        tab_title = self.tabs.tabText(index)
        tab = self.tabs.currentWidget()
 
        if tab_title != "All checked scenarios":
            scenario = tab_title.split('-')[1]
        else :
            scenario ="ALL"
 
        self.run_actions(tab,scenario)  
 
 def run_actions(self,tab,scenario):
 
    tab.generate_btn.clicked.connect(lambda : self.launch(tab,scenario))
    tab.run_tranus_btn.clicked.connect(lambda :self.run_tranus(tab,scenario))
    tab.check_all_btn.clicked.connect(lambda :self.check_all(tab,scenario))
 
def run_tranus(self,tab,scenario):
    tab.console.append("Beginning of execution of basic TRANUS programs for scenario "+scenario)
    tab.console.append("Executing loop TRANUS for "+ `tab.spin_box.value()` +" iterations")