python GUI庫圖形介面開發之PyQt5選項卡控制元件QTabWidget詳細使用方法與例項
阿新 • • 發佈:2020-03-02
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_())
執行效果圖如下
程式碼分析
在這個例子中,一個表單的內容分為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控制元件使用的知識請檢視下面的相關連結