pyqt tabWidget 多个tab页 共用一个QWidget
时间: 2024-03-10 08:46:57 浏览: 254
可以通过在每个tab页中添加同一个QWidget来实现多个tab页共用一个QWidget的效果。具体实现步骤:
1. 创建一个QWidget对象,作为共用的部件。
2. 创建多个QTabWidget的tab页,并将QWidget对象添加到每个tab页中。
3. 在每个tab页中,通过setLayout()方法将QWidget对象设置为tab页的布局。
4. 在QWidget对象中添加需要的控件,这些控件将会出现在每个tab页中。
下面是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QTabWidget, QVBoxLayout, QLabel
class MyWidget(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
layout = QVBoxLayout()
label = QLabel("共用的部件")
layout.addWidget(label)
self.setLayout(layout)
class MyTabWidget(QTabWidget):
def __init__(self, parent=None):
super().__init__(parent)
for i in range(3):
widget = MyWidget()
self.addTab(widget, "Tab {}".format(i+1))
if __name__ == '__main__':
app = QApplication(sys.argv)
tabWidget = MyTabWidget()
tabWidget.show()
sys.exit(app.exec_())
```
运行以上代码,将会显示一个拥有三个tab页的QTabWidget,每个tab页中都包含了一个共用的QWidget,QWidget中包含了一个标签控件。
阅读全文