溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python GUI庫圖形界面開發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例

發(fā)布時間:2020-08-27 17:44:04 來源:腳本之家 閱讀:164 作者:jia666666 欄目:開發(fā)技術(shù)

PyQt5選項(xiàng)卡控件QTabWidget簡介

QTabWidget控件提供了一個選項(xiàng)卡和一個頁面區(qū)域,默認(rèn)顯示第一個選項(xiàng)卡的頁面,通過單擊各選項(xiàng)卡可以查看對應(yīng)的界面,如果在一個窗口中顯示的輸入字段很多,則可以對這些字段進(jìn)行拆分,分別放置在不同界面的選項(xiàng)卡中

QTabWidget類中常用的方法

方法 描述
addTab() 將一個控件添加到Tab控件的選項(xiàng)卡中
insertTab() 將一個Tab控件的選項(xiàng)卡插入到指定的位置
removeTab() 根據(jù)指定的索引刪除Tab控件
setCurrentIndex() 設(shè)置當(dāng)前可見的選項(xiàng)卡所在的索引
setCurrentWidget() 設(shè)置當(dāng)前可見的界面
setTabBar() 設(shè)置選項(xiàng)卡欄的小控件
setTabPosition() 設(shè)置選項(xiàng)卡的位置
QTabWidget.North:顯示在頁面的上方
QTabWidget.South:顯示在頁面的下方
QTabWidget.West:顯示在頁面的左側(cè)
QTabWidget.East:顯示在頁面的右側(cè)
setTabText() 定義Tab選項(xiàng)卡的顯示值

QTabWidget類中的常用信號

信號 描述
currentChanged 切換當(dāng)前頁面時發(fā)射該信號

實(shí)例: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)

    #創(chuàng)建3個選項(xiàng)卡小控件窗口
    self.tab1=QWidget()
    self.tab2=QWidget()
    self.tab3=QWidget()

    #將三個選項(xiàng)卡添加到頂層窗口中
    self.addTab(self.tab1, "Tab 1")
    self.addTab(self.tab2, "Tab 2")
    self.addTab(self.tab3, "Tab 3")

    #每個選項(xiàng)卡自定義的內(nèi)容
    self.tab1UI()
    self.tab2UI()
    self.tab3UI()

  def tab1UI(self):
    #表單布局
    layout=QFormLayout()
    #添加姓名,地址的單行文本輸入框
    layout.addRow('姓名',QLineEdit())
    layout.addRow('地址',QLineEdit())
    #設(shè)置選項(xiàng)卡的小標(biāo)題與布局方式
    self.setTabText(0,'聯(lián)系方式')
    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())

    #設(shè)置標(biāo)題與布局
    self.setTabText(1,'個人詳細(xì)信息')
    self.tab2.setLayout(layout)

  def tab3UI(self):
    #水平布局
    layout=QHBoxLayout()

    #添加控件到布局中
    layout.addWidget(QLabel('科目'))
    layout.addWidget(QCheckBox('物理'))
    layout.addWidget(QCheckBox('高數(shù)'))

    #設(shè)置小標(biāo)題與布局方式
    self.setTabText(2,'教育程度')
    self.tab3.setLayout(layout)
if __name__ == '__main__':
  app=QApplication(sys.argv)
  demo=TabDemo()
  demo.show()
  sys.exit(app.exec_())

運(yùn)行效果圖如下

python GUI庫圖形界面開發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例

python GUI庫圖形界面開發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例

python GUI庫圖形界面開發(fā)之PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例

代碼分析

在這個例子中,一個表單的內(nèi)容分為3組,每一組小控件都顯示在不同的選項(xiàng)卡中,頂層窗口是一個QTabWidget控件,將三個選項(xiàng)卡添加進(jìn)去

#創(chuàng)建3個選項(xiàng)卡小控件窗口
self.tab1=QWidget()
self.tab2=QWidget()
self.tab3=QWidget()

#將三個選項(xiàng)卡添加到頂層窗口中
self.addTab(self.tab1, "Tab 1")
self.addTab(self.tab2, "Tab 2")
self.addTab(self.tab3, "Tab 3")

使用表單布局管理器,每個選項(xiàng)卡顯示子表單的內(nèi)容

self.setTabText(0,'聯(lián)系方式')
self.setTabText(1,'個人詳細(xì)信息')
self.setTabText(2,'教育程度')

本文主要介紹了PyQt5選項(xiàng)卡控件QTabWidget詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5控件使用的知識請查看下面的相關(guān)鏈接

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI