Question

J'ai une boîte de dialogue qui contient un Qt TabWidget avec plusieurs onglets ajoutés.

Je voudrais cacher l'un des onglets.

_mytab->hide() 

ne fonctionne pas. Je ne veux pas simplement supprimer l'onglet et tous ses widgets du fichier .ui, car un autre code repose sur les widgets qu'il contient. Cependant, il serait bon de générer le code de tabulation mais de façon ou d'autre pas :: insertTab dans le fichier uic_mydialog.cpp généré. La définition de la propriété masquée dans le fichier d'interface utilisateur ne fonctionne pas non plus.

J'utilise Qt 3.3

Était-ce utile?

La solution

J'utiliserais QTabDialog :: removePage (QWidget * pTabPage) pour ne pas supprimer pTabPage, ce que vous voulez.

_myTabDlg->removePage(_mytab);

Je l'utilise et cela fonctionne bien!

Autres conseils

J'avais rencontré le même problème. J'utilise l'approche suivante.

Maintenant, voici les données.

  

genTab est le nom de mon QTabWidget

     

tabX est le nom de l'onglet que je veux supprimer.

(Notez qu'il s'agit du deuxième onglet du widget Onglet. Par conséquent, j'utiliserai "1" comme index pour faire référence à cet onglet.

Le code à supprimer et à ajouter est le suivant.

ui.genTab->removeTab(1); // removes the tab at the index 1 which is the second tab from left


ui.genTab->insertTab(1, ui.tabX, "<Name of TabX>"); // The tab is added back.

Ici, notez qu’il est facile de le faire si l’onglet est ajouté statiquement au moment de la conception. Parce que nous aurons un nom d’objet associé à l’onglet, nous pouvons donc y faire référence en utilisant, ui.tabX. D'après ce que vous dites, dans votre cas, l'onglet est effectivement ajouté de manière statique dans la conception.

Toutefois, si vous ajoutez les onglets de manière dynamique, vous devrez probablement les conserver dans une liste, puis créer une autre liste pour les étiquettes supprimées.

Mais la première solution fonctionnera probablement pour vous. J'espère que cela vous aidera.

-Arjun

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top