質問

を使用してい QTabWidget 描画のために複数の文書をウインドウにして大事にしていきたいと思い描く閉じるボタンの各タブです。を使用してい ビスタQt4, でタブのウィジェットはネイティブwindows制御に悪影響をおよぼす場合があり、実行可能性

なんだろうけど、日本人にできる場合はこの QTabWidget 制御、またはいけないのをカスタムウィジェット?場合は新規作成ウィジェットのオプションは、ポインタがよろしくお願いいたします;私は比較的新しいQt.

役に立ちましたか?

解決

現在、在庫のQTabWidgetでこれを行う方法はありませんが、次期Qt 4.5(2009年3月にリリース予定)には閉じるボタンを手動で、またはQTabBar.TabsClosableプロパティを設定してタブに追加する機能

それまで、閉じるボタンを取得する唯一の方法は、QTabWidgetまたはQTabBarをサブクラス化し、手動で追加することです(可能ですが、簡単ではありません)。

他のヒント

以来、Qt4.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