Napotkałem ten sam problem. Używam następującego podejścia.
Tutaj są dane.
genTab to nazwa mojego QTabWidget
tabX to nazwa zakładki, które chcę usunąć.
(Należy pamiętać, że jest to druga zakładka w zakładce widgecie. Dlatego będę używał „1” jako wskaźnik odnoszący się do tej zakładce)
Kod usunąć i dodać jest jak poniżej .
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.
Należy zauważyć, że łatwo jest to zrobić, jeśli tabulacja została dodana statycznie w czasie projektowania. Ponieważ będziemy mieć nazwę obiektu powiązaną z kartą, a więc możemy się do niej odwołać za pomocą, ui.tabX. Z tego co mówisz, w twoim przypadku zakładka jest rzeczywiście dodana statycznie w czasie projektowania.
Jeśli jednak dynamicznie dodajesz karty, prawdopodobnie będziesz musiał zachować karty na liście, a następnie mieć kolejną listę dla usuniętych tabel.
Ale pierwsze rozwiązanie najprawdopodobniej zadziała. Mam nadzieję, że to pomoże.
-Arjun