QTabView 隐藏标签内容但不隐藏标签栏
QTabView hide tab content but not tabbar
我在 window 中有 2 个 QTabWidgets,其中包含 QWidgets 和一个用于折叠控制可见性的选项卡内容的附加按钮。要么两者都可见,要么一个隐藏。
当我使用下面的代码设置小部件可见性时,小部件消失了,但选项卡小部件没有调整大小。
for(int i = 0; i < tabWidget->count(); i++) {
tabWidget->widget(i)->setVisible(!hide);
}
我只剩下一个空白框和一个围绕边缘的框架,但 window 调整大小后没有任何内容
我想要的是仍然可见的选项卡小部件展开以占据整个 window,但另一个选项卡小部件的栏仍然可见。
可以只隐藏标签栏。有没有办法隐藏选项卡内容并使栏可见?
这里有几个选项,其中一个类似于在 QTabWidget 中隐藏选项卡。
1.用虚拟小部件替换选项卡。
您仍然希望显示选项卡,因此将它们换成一个空的小部件,这样 QTabWidget 内容的计算高度为 0。
2。隐藏选项卡小部件的内容而不是小部件本身。
您很可能在这些小部件中有布局,布局间距和边距将显示为空 space。您需要轻松计算出隐藏内容的细节。
3。设置QTabWidget的最大高度
将QTabWidget的最大高度设置为QTabWidget的QTabBar的高度。
if (hide) {
tabWidget->setMaximumHeight(tabWidget->tabBar()->height());
} else {
tabWidget->setMaximumHeight(QWIDGETSIZE_MAX); // Default maximum size for qWidgets
}
我没有看到在任一选项卡小部件上设置 QSizePolicy 有效果。在 Qt 5.13.1 上测试。
我在 window 中有 2 个 QTabWidgets,其中包含 QWidgets 和一个用于折叠控制可见性的选项卡内容的附加按钮。要么两者都可见,要么一个隐藏。
当我使用下面的代码设置小部件可见性时,小部件消失了,但选项卡小部件没有调整大小。
for(int i = 0; i < tabWidget->count(); i++) {
tabWidget->widget(i)->setVisible(!hide);
}
我只剩下一个空白框和一个围绕边缘的框架,但 window 调整大小后没有任何内容
我想要的是仍然可见的选项卡小部件展开以占据整个 window,但另一个选项卡小部件的栏仍然可见。
可以只隐藏标签栏。有没有办法隐藏选项卡内容并使栏可见?
这里有几个选项,其中一个类似于在 QTabWidget 中隐藏选项卡。
1.用虚拟小部件替换选项卡。
您仍然希望显示选项卡,因此将它们换成一个空的小部件,这样 QTabWidget 内容的计算高度为 0。
2。隐藏选项卡小部件的内容而不是小部件本身。
您很可能在这些小部件中有布局,布局间距和边距将显示为空 space。您需要轻松计算出隐藏内容的细节。
3。设置QTabWidget的最大高度
将QTabWidget的最大高度设置为QTabWidget的QTabBar的高度。
if (hide) {
tabWidget->setMaximumHeight(tabWidget->tabBar()->height());
} else {
tabWidget->setMaximumHeight(QWIDGETSIZE_MAX); // Default maximum size for qWidgets
}
我没有看到在任一选项卡小部件上设置 QSizePolicy 有效果。在 Qt 5.13.1 上测试。