qtabwidget에 닫기 버튼을 넣습니다
-
19-08-2019 - |
문제
나는 a를 사용하고있다 QTabWidget
창에 여러 문서를 렌더링하고 각 탭에 닫기 버튼을 그려고합니다. 사용 중입니다 추억 그리고 QT4, 탭 위젯은 기본 Windows 컨트롤입니다. 이것은 타당성에 영향을 줄 수 있습니다.
누구든지 QTabWidget
제어, 또는 사용자 정의 위젯을 만들어야합니까? 새로운 위젯을 만드는 것이 유일한 옵션이라면, 모든 포인터는 대단히 감사 할 것입니다. 나는 Qt를 비교적 처음으로 사용합니다.
해결책
현재 주식 Qtabwidget과 함께이를 수행 할 방법은 없지만 다가오는 QT 4.5 (2009 년 3 월에 출시 될 예정)는 닫기 버튼을 추가 할 수 있습니다 수동으로 또는 a를 설정하여 탭에 QTabBar.TabsClosable
재산.
그때까지 버튼을 닫는 유일한 방법은 서브 클래스입니다. QTabWidget
또는 QTabBar
수동으로 추가하십시오 (가능하지만 사소하지는 않음).
다른 팁
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;
}
4.5에는 기능이 있습니다
void setTabsClosable ( bool closeable )
제휴하지 않습니다 StackOverflow