我用一个 QTabWidget 呈现多文件,在一个窗口,我想提请关闭按钮在每个选项。我在使用 VistaQt4, ,这样的标签件是一个机windows控制;这可能会影响的可行性。

没有人知道,如果它能够这样做使用 QTabWidget 控制,或者我必须创建一个自定义的小工具?如果创建一个新的部件是唯一的选择,任何指针,将不胜感激;我比较新的噪声。

有帮助吗?

解决方案

目前没有办法与股票QTabWidget,但是即将到来的Qt 4.5做这个(计划于2009年3月被释放)将具有的能力添加关闭按钮以突舌手动或通过设置QTabBar.TabsClosable属性。

在此之前,以获得关闭按钮的唯一方式是子类QTabWidgetQTabBar和手动添加(可能的,但并非微不足道)。

其他提示

由于脱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;
}

在4.5有功能

void setTabsClosable ( bool closeable )
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top