[PyQt5]高级控件4 - 选项卡QTabWidget

PyQt5系列文章

基本控件---
1.按钮QPushButton2.标签QLabel3.可编辑框QTextEdit4.文本提示QToolTip
5.单行输入框QLineEdit6.消息框QMessageBox7.单选按钮QRadioButton8.下拉列表QComboBox
9.图片显示QPixmap10.分组框QGroupBox11.进度条QProgressBar12.对话框QDialog
13.进度条对话框QProgressDialog14.复选框QCheckBox15.滑块QSlider16.状态栏QStatusBar
17.文件对话框QFileDialog18.工具栏QToolBar19.分割条QSplitter20.菜单栏QMenuBar
21.滚动条QScrollBar22.时间编辑框QTimeEdit23.日期编辑框QDateEdit24.时间日期编辑框QDateTimeEdit
高级控件---
1.列表控件QListWidget2.表格控件QTableWidget3.树形控件QTreeWidget4.选项卡QTabWidget
5.浮动窗口QDockWidget6.堆叠窗口QStackedWidget7.堆叠布局QStackedLayout8.网格布局QGridLayout
9.表单布局QFormLayout10.水平布局QHBoxLayout11.垂直布局QVBoxLayout12.日历QCalendarWidget
13.线程QThread14.定时器QTimer--

效果图

tabwidget示例图1

tabwidget示例图2

完整代码

import sys
from PyQt5.QtWidgets import *

class QTabWidgetDemo(QTabWidget):
    def __init__(self):
        super(QTabWidgetDemo, self).__init__()

        self.resize(400, 150)
        #设置窗口标题
        self.setWindowTitle("QTabWidgetDemo")

        #创建3个选项卡小控件窗口
        self.tab1 = QWidget()
        self.tab2 = QWidget()
        self.tab3 = QWidget()

        #将三个选项卡添加到顶层窗口中
        self.addTab(self.tab1, "Tab 1")
        self.addTab(self.tab2, "Tab 2")
        self.addTab(self.tab3, "Tab 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):
        #zhu表单布局,次水平布局
        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.tab3.setLayout(layout)

if  __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QTabWidgetDemo()
    main.show()
    sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值