>QTabWidget::removeTab() や QTabWidget::insertTab() を使って何とかしようとしましたが,insertTab() は
>引数に挿入位置のインデックスが必要なので,タブの可視/不可視を切り替えた時に,元の順番どおりに
>タブを並べるのが困難で挫折しました(タブ上のラベルも保存しておかないとならないので QHash とか
>使ってゴニョゴニョやったんですが)。

これをやるしかないだろ
手抜きを考えずにまじめにやろう