Я столкнулся с той же проблемой. Я использую следующий подход.
Теперь вот данные.
genTab - это имя моего QTabWidget
tabX - это имя вкладки, которую я хочу удалить.
(Обратите внимание, что это вторая вкладка в виджете вкладок. Следовательно, я буду использовать «1» в качестве индекса для ссылки на эту вкладку)
Код для удаления и добавления приведен ниже.
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.
Здесь обратите внимание, что это легко сделать, если у вас статически добавлена вкладка во время разработки. Поскольку у нас будет имя объекта, связанное с вкладкой, и, следовательно, мы можем ссылаться на него, используя ui.tabX. Из того, что вы говорите, в вашем случае вкладка действительно добавляется статически во время разработки.
Однако, если вы добавляете вкладки динамически, то, вероятно, вам придется поддерживать вкладки в списке, а затем иметь другой список для удаленных вкладок.
Но первое решение, скорее всего, будет работать для вас.
Надеюсь, это поможет.
-Arjun