в своем классе-наследнике от QTabBar вызвается обработчик mouseDoubleClickEvent, в котором делаю следующее:
if( tabText(currentIndex()) == "Data 1" ) {
removeTab( currentIndex() );
emit CloseTab( "Data 1" );
}
при этом закрывается и следующий за ним таб "Data 2", а фнкция QTabBar::count() возвращает 1, т.е. только самый первый (нулевой) таб на месте.
сигнал CloseTab вызывает слот со следующим кодом:
if( tab_name == "Data 1" ) {
m_pDataPlotter1->setParent( NULL );
m_pDataPlotter1->show();
}
где m_pDataPlotter1 наследник QWidget - т.е. попросту делаю мой виджет отдельным самостоятельным окном. впрочем, вызов этого слота не влияет на ситуацию, проверял комментированием
emit CloseTab( "Data 1" );