Une action sera exécutée plus qu'une fois lorsque je change d'un tab à un autre
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:
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") |