为了在屏幕上显示更多的控件,我们使用QWidget来作为一个容器,下面列出了一个方法表
QWidget() | 创建用于显示控件的窗口 |
---|
addTab(self, QWidget, str) | QWiget:需要添加的控件 |
| str:Tab标题 |
setTabText(self, int, str) | int:控件序号 |
| str:Tab标题 |
setLayout | 设置布局,添加其他控件 |
import sys
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
'''
容器控件:
在屏幕上显示更多的控件
'''
class TabWidgetDemo(QTabWidget):
def __init__(self):
super(TabWidgetDemo, self).__init__()
self.setWindowTitle("选项卡控件")
self.tab1 = QWidget()
self.tab2 = QWidget()
self.tab3 = QWidget()
self.addTab(self.tab1, "选项卡1")
self.addTab(self.tab2, '选项卡2')
self.addTab(self.tab3, '选项卡3')
self.tab1UI()
self.tab2UI()
self.tab3UI()
def tab1UI(self):
layout = QFormLayout()
layout.addRow('姓名', QLineEdit())
layout.addRow('地址', QLineEdit())
self.setTabText(0, '联系方式')
self.tab1.setLayout(layout)
def tab2UI(self):
play = QFormLayout()
layout = QHBoxLayout()
layout.addWidget(QRadioButton('男'))
layout.addWidget(QRadioButton('女'))
play.addRow(QLabel('性别'), layout)
play.addRow("生日", QLineEdit())
self.setTabText(1, "个人信息")
self.tab2.setLayout(play)
def tab3UI(self):
layout = QHBoxLayout()
layout.addWidget(QLabel('科目'))
layout.addWidget(QCheckBox("化学"))
layout.addWidget(QCheckBox('生物'))
layout.addWidget(QCheckBox('数学'))
self.setTabText(2, "所学科目")
self.tab3.setLayout(layout)
if __name__ == "__main__":
app = QApplication(sys.argv)
main = TabWidgetDemo()
main.show()
sys.exit(app.exec_())