pyqt5的tab中能再套一层tab吗
时间: 2023-07-27 08:32:49 浏览: 222
是的,PyQt5的QTabWidget中可以再嵌套一个QTabWidget来实现多层Tab的效果。具体实现方式就是在一个QTabWidget的某个Tab页中再创建一个QTabWidget并添加到该Tab页中作为子控件。例如:
```python
import sys
from PyQt5.QtWidgets import QApplication, QTabWidget, QWidget, QVBoxLayout
class NestedTabWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
tab1 = QWidget()
tab2 = QWidget()
nested_tab = QTabWidget()
nested_tab.addTab(QWidget(), "Nested Tab 1")
nested_tab.addTab(QWidget(), "Nested Tab 2")
tab1_layout = QVBoxLayout()
tab1_layout.addWidget(nested_tab)
tab1.setLayout(tab1_layout)
tab_widget = QTabWidget()
tab_widget.addTab(tab1, "Tab 1")
tab_widget.addTab(tab2, "Tab 2")
main_layout = QVBoxLayout()
main_layout.addWidget(tab_widget)
self.setLayout(main_layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = NestedTabWidget()
widget.show()
sys.exit(app.exec_())
```
在这个例子中,我们在第一个Tab页中创建了一个新的QTabWidget并添加了两个子Tab页。然后将这个QTabWidget作为子控件添加到了第一个Tab页中。
阅读全文