QTabWidget的詳細使用


QTabWidget介紹

QTabWidget主要是用來分頁顯示的,每一頁一個界面,眾多界面公用一塊區域,節省了界面大小,很方便的為用戶顯示更多的信息
這里寫圖片描述

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()

4,完整源碼

# -*- coding: utf-8 -*-

''' 【簡介】 PyQt5中 QTabWidget 例子 '''

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *


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_())


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM