在QTabWidget上放一个closuresbutton

我正在使用QTabWidget在窗口中呈现多个文档,并且我想在每个选项卡上绘制一个closuresbutton。 我使用的是VistaQt4 ,所以Tab小部件是一个本地的Windows控件; 这可能会影响可行性。

有谁知道是否有可能使用QTabWidget控件做到这一点,还是我必须创build一个自定义小部件? 如果创build一个新的widget是唯一的select,任何指针将不胜感激; 我对Qt比较陌生。

Solutions Collecting From Web of "在QTabWidget上放一个closuresbutton"

目前无法通过股票QTabWidget来实现这一点,不过即将到来的Qt 4.5(计划于2009年3月发布)将能够通过手动或通过设置QTabBar.TabsClosable属性来添加关闭按钮到选项卡。

在此之前,获取关闭按钮的唯一方法是QTabWidgetQTabBar并手动添加(可能,但不是微不足道的)。

自Qt 4.5 。 如果你只是在QTabWidget上调用setTabsClosable(true) ,你将会有关闭按钮,但是它们不会被绑定到一个动作上。
如果你想按钮做某事,你必须将tabClos​​eRequested(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; } 

在4.5中有功能

 void setTabsClosable ( bool closeable )