J'ai créé mon interface avec Qt Creator et du coup j'ai eu deux tabs par défaut dans QtabWidget. Actuellement, je voudrais insérer ou ajouter des tabs dynamiquement. J'ai utilisé la méthode addTab ou insertTab, mon problème est avec les tabs par défaut Tab 1 et Tab 2. J'ai utilisé la méthode removeTabs pour les supprimer mais je ne suis pas convaincue par ma solution. Du coup, je cherche autre solution pour éviter d'avoir des duplicatas de tabs.
Merci pour votre aide.
Voici un extrait de 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.setupUi(self) self.tabs = self.findChild(QtGui.QTabWidget, 'tabWidget') checked_list = [u'Base Scenario 1991 - 91A', u'Intermediate 1996 - 96A', u'Trend Scenario 2001 - 01T'] nb_tabs = len(checked_list) for i in range(nb_tabs) : self.add_new_tab(i,checked_list[i]) self.remove_default_tabs(nb_tabs) self.tabs.addTab(QtGui.QWidget(),"All checked scenarios") self.tabs.setCurrentIndex(0) def add_new_tab(self,index,text): self.new_tab = QtGui.QWidget() self.tabs.insertTab(index,self.new_tab,text) self.tabs.setTabText(index,text) def remove_default_tabs(self,nb_tabs): # we suppose that in QT Creator we don't change the names of the default tabs (Tab 1 and Tab 2) if self.tabs.tabText(nb_tabs) == "Tab 1" : self.tabs.removeTab(nb_tabs) if self.tabs.tabText(nb_tabs) == "Tab 2" : self.tabs.removeTab(nb_tabs)
Partager