import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5 import QtWidgets print(dir(QtWidgets)) class TabDemo(QTabWidget): def __init__(self, parent=None): super(TabDemo, self).__init__(parent) self.tab1 = QWidget() self.tab2 = QWidget() self.tab3 = QWidget() self.tab4 = QWidget() self.addTab(self.tab1, "Tab 1") self.addTab(self.tab2, "Tab 2") self.addTab(self.tab3, "Tab 3") self.addTab(self.tab4, "Tab 4") self.tab1UI() self.tab2UI() self.tab3UI() self.tab4UI() self.setWindowTitle("Tab 例子") def tab1UI(self): #帧布局 layout = QFormLayout() layout.addRow("姓名", QLineEdit()) layout.addRow("地址", QLineEdit()) #为这个tab命名显示出来,第一个参数是哪个标签,第二个参数是标签的名字 self.setTabText(0, "联系方式") # 在标签1中添加这个帧布局 self.tab1.setLayout(layout) # 同理如上 def tab2UI(self): layout = QFormLayout() sex = QHBoxLayout() sex.addWidget(QRadioButton("男")) sex.addWidget(QRadioButton("女")) layout.addRow(QLabel("性别"), sex) layout.addRow("生日", QLineEdit()) self.setTabText(1, "个人详细信息") self.tab2.setLayout(layout) def tab3UI(self): layout = QHBoxLayout() layout.addWidget(QLabel("科目")) layout.addWidget(QCheckBox("物理")) layout.addWidget(QCheckBox("高数")) self.setTabText(2, "教育程度") self.tab4.setLayout(layout) def tab4UI(self): layout = QHBoxLayout() layout.addWidget(QLabel("科目")) layout.addWidget(QCheckBox("物理")) layout.addWidget(QCheckBox("高数")) self.setTabText(3, "教育程度") self.tab4.setLayout(layout) if __name__ == '__main__': app = QApplication(sys.argv) demo = TabDemo() demo.show() sys.exit(app.exec_())
1,创建四个QWidget
self.tab1 = QWidget() self.tab2 = QWidget() self.tab3 = QWidget() self.tab4 = QWidget()2,将四个QWidget添加到tab当中去
self.addTab(self.tab1, "Tab 1") self.addTab(self.tab2, "Tab 2") self.addTab(self.tab3, "Tab 3") self.addTab(self.tab4, "Tab 4")3,分别为每个tab里面制作界面
self.tab1UI() self.tab2UI() self.tab3UI() self.tab4UI()