PyQt6之选项卡示例
示例代码:
# _*_ coding: UTF-8 _*_
# 开发团队 : 大军安全
# 开发人员 : Dreams
# 开发时间 : 2025/9/20 13:54
# 文件名称 : tabWidget.py
# 开发工具 : PyCharm
# 开发任务 : 选项卡示例
import sysfrom PyQt6.QtWidgets import QTabWidget, QWidget, QFormLayout, QLineEdit, QRadioButton, QPushButton, QHBoxLayout, QLabel, \QCheckBox, QApplicationclass myTabWidget(QTabWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):# 设置选项卡的位置、大小、标题和标签位置(上:North)self.setWindowTitle("Tab Widget示例")self.resize(360, 160)self.setTabPosition(QTabWidget.TabPosition.North)# 创建用于显示控件的两个QWidget窗口对象tabW1、tabW2self.tabW1 = QWidget()self.tabW2 = QWidget()# tabW1、tabW2窗口分别加入选项卡1和选项卡2self.addTab(self.tabW1, "选项卡1")self.addTab(self.tabW2, "选项卡2")self.tabW1_UI()self.tabW2_UI()# 定义窗口对象tabW1界面的控件def tabW1_UI(self):fLayout = QFormLayout()self.xm = QLineEdit()self.rbNan = QRadioButton("男")self.rbNv = QRadioButton("女")self.rbNv.setChecked(True)self.borthdate = QLineEdit()firstBtn = QPushButton("确定")firstBtn.clicked.connect(self.clickedFunc)hLayout = QHBoxLayout()hLayout.addWidget(self.rbNan)hLayout.addWidget(self.rbNv)fLayout.addRow(QLabel("姓名"), self.xm)fLayout.addRow(QLabel("性别"), hLayout)fLayout.addRow(QLabel("出生年月"), self.borthdate)fLayout.addRow(' ', firstBtn)self.setTabText(0, "基本信息")self.tabW1.setLayout(fLayout)# 定义窗口对象tabW2界面控件def tabW2_UI(self):hLayout = QHBoxLayout()self.cb1 = QCheckBox("C++")self.cb2 = QCheckBox("Java")self.cb3 = QCheckBox("Python")self.cb1.setChecked(True)hLayout.addWidget(self.cb1)hLayout.addWidget(self.cb2)hLayout.addWidget(self.cb3)self.setTabText(1,"编程语言")self.tabW2.setLayout(hLayout)# 命令按钮函数def clickedFunc(self):# ---检查第1个选项卡中的控件print(self.xm.text())if self.rbNan.isChecked():print(self.rbNan.text())else:print(self.rbNv.text())print(self.borthdate.text())# ---检查第2个选项卡中的控件if self.cb1.isChecked():print(self.cb1.text(),end=" ")if self.cb2.isChecked():print(self.cb2.text(),end=" ")if self.cb3.isChecked():print(self.cb3.text(),end=" ")if __name__ == '__main__':app = QApplication(sys.argv)win = myTabWidget()win.show()sys.exit(app.exec())
self.addTab(self.tabW1, "TabWidget1") 设置选项卡1对应的窗口
self.setTabText(0, "基本信息") 设置选项卡1的标题
示例效果: