С Qt 4.5 . Если вы просто позвоните setTabsClosable(true)
на QTabWidget
, у вас будут кнопки закрытия, но они не будут привязаны к действию.
Вы должны подключить сигнал tabCloseRequested (int) к одному из ваших собственных слотов, если хотите, чтобы кнопки что-то делали.
MainWindow::MainWindow()
m_tabs = new QTabWidget();
m_tabs->setTabsClosable(true);
connect(m_tabs, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));
void MainWindow::closeTab(const int& index)
{
if (index == -1) {
return;
}
QWidget* tabItem = m_tabs->widget(index);
// Removes the tab at position index from this stack of widgets.
// The page widget itself is not deleted.
m_tabs->removeTab(index);
delete(tabItem);
tabItem = nullptr;
}