其他分享
首页 > 其他分享> > PYQT5学习(12)Qtabwidget 选项卡及其窗口

PYQT5学习(12)Qtabwidget 选项卡及其窗口

作者:互联网

参考博文:https://blog.csdn.net/jia666666/article/details/81669092
QTabWidget控件提供一个选项卡和一个页面区域,默认显示第一个选项卡的页面
通过点击各选项卡可以查看相应的界面,如果在一个窗口中显示输入字很多,则可
以对这些字段进行拆分,分别放置在不同界面的选项卡中

流程:1,创建一个QtabWidget
2.为选项卡对话框中的每个页面创建一个QWidget,但不要为它们制定父窗口小部件
3,将子窗口的小部件插入到页面窗口小部件中,使用布局为其定位
4,调用addTab()或insertTab()将页面小部件放入选项卡小部件,为每个选项
卡提供一个带有可选键盘快捷键的合适标签

import sys
from PyQt5.QtWidgets import QWidget,QApplication,QGridLayout,QRadioButton,QVBoxLayout,QTabWidget,QFormLayout,QLabel,QLineEdit

class Tab(QTabWidget):
    def __init__(self):
        super().__init__()
        self.tab1=QWidget()
        self.tab2=QWidget()
        self.tab3=QWidget()

        self.addTab(self.tab1,'tab1')
        self.addTab(self.tab2,'tab2')
        self.addTab(self.tab3,'tab3')

        self.tab1UI()
        self.tab2UI()

    def tab1UI(self):
        tab1_lay=QGridLayout()
        self.tab1.setLayout(tab1_lay)

        self.setTabText(0,'信息页')
        label=QLabel('姓名:tom')
        tab1_lay.addWidget(label,0,0)

    def tab2UI(self):
        tab2_lay=QGridLayout()
        self.tab2.setLayout(tab2_lay)

        self.setTabText(1,'第二页')
        label=QLabel('姓名:tom')
        tab2_lay.addWidget(label,0,0)
        


class TabWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setWindowTitle('demo')
        self.setGeometry(300,300,300,200)

        #表单布局
        layout=QFormLayout()
        self.setLayout(layout)

        layout.addRow(QRadioButton('男'))
        layout.addRow(QRadioButton('女'))

        tabwidget=Tab()
        layout.addRow(tabwidget)
    


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

  

标签:__,12,选项卡,tab2,self,PYQT5,QWidget,tab1
来源: https://www.cnblogs.com/cgy1995/p/11116344.html