質問
を使用してい 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 )
所属していません StackOverflow