1. 程式人生 > 程式設計 >python GUI庫圖形介面開發之PyQt5選項卡控制元件QTabWidget詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5選項卡控制元件QTabWidget詳細使用方法與例項

PyQt5選項卡控制元件QTabWidget簡介

QTabWidget控制元件提供了一個選項卡和一個頁面區域,預設顯示第一個選項卡的頁面,通過單擊各選項卡可以檢視對應的介面,如果在一個視窗中顯示的輸入欄位很多,則可以對這些欄位進行拆分,分別放置在不同介面的選項卡中

QTabWidget類中常用的方法

方法 描述
addTab() 將一個控制元件新增到Tab控制元件的選項卡中
insertTab() 將一個Tab控制元件的選項卡插入到指定的位置
removeTab() 根據指定的索引刪除Tab控制元件
setCurrentIndex() 設定當前可見的選項卡所在的索引
setCurrentWidget() 設定當前可見的介面
setTabBar() 設定選項卡欄的小控制元件
setTabPosition() 設定選項卡的位置
QTabWidget.North:顯示在頁面的上方
QTabWidget.South:顯示在頁面的下方
QTabWidget.West:顯示在頁面的左側
QTabWidget.East:顯示在頁面的右側
setTabText() 定義Tab選項卡的顯示值

QTabWidget類中的常用訊號

訊號 描述
currentChanged 切換當前頁面時發射該訊號

例項: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)

    #建立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)
  demo=TabDemo()
  demo.show()
  sys.exit(app.exec_())

執行效果圖如下

python GUI庫圖形介面開發之PyQt5選項卡控制元件QTabWidget詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5選項卡控制元件QTabWidget詳細使用方法與例項

python GUI庫圖形介面開發之PyQt5選項卡控制元件QTabWidget詳細使用方法與例項

程式碼分析

在這個例子中,一個表單的內容分為3組,每一組小控制元件都顯示在不同的選項卡中,頂層視窗是一個QTabWidget控制元件,將三個選項卡新增進去

#建立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.setTabText(0,'聯絡方式')
self.setTabText(1,'個人詳細資訊')
self.setTabText(2,'教育程度')

本文主要介紹了PyQt5選項卡控制元件QTabWidget詳細使用方法與例項,更多關於PyQt5控制元件使用的知識請檢視下面的相關連結