python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例


Posted in Python onMarch 01, 2020

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控件使用的知识请查看下面的相关链接

Python 相关文章推荐
Windows下安装python2.7及科学计算套装
Mar 05 Python
详解Python命令行解析工具Argparse
Apr 20 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
python实现学生管理系统
Jan 11 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
Python爬取爱奇艺电影信息代码实例
Nov 26 Python
Pytorch之contiguous的用法
Dec 31 Python
python 获取当前目录下的文件目录和文件名实例代码详解
Mar 10 Python
关于python 跨域处理方式详解
Mar 28 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
Matplotlib可视化之添加让统计图变得简单易懂的注释
Jun 11 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 #Python
python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例
Mar 01 #Python
Python猜数字算法题详解
Mar 01 #Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 #Python
python 中的paramiko模块简介及安装过程
Feb 29 #Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
Feb 29 #Python
vue学习笔记之动态组件和v-once指令简单示例
Feb 29 #Python
You might like
php数据库配置文件一般做法分享
2012/07/07 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
老生常谈PHP面向对象之命令模式(必看篇)
2017/05/24 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
JS实现鼠标箭头变成一个燃烧烛光效果的方法
2015/02/28 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
JavaScript学习笔记整理_用于模式匹配的String方法
2016/09/19 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
Python实现删除文件但保留指定文件
2015/06/21 Python
利用python画一颗心的方法示例
2017/01/31 Python
Python入门_条件控制(详解)
2017/05/16 Python
Python操作mongodb的9个步骤
2018/06/04 Python
python实现支付宝转账接口
2019/05/07 Python
python数据归一化及三种方法详解
2019/08/06 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
Python函数的定义方式与函数参数问题实例分析
2019/12/26 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
python 如何在测试中使用 Mock
2021/03/01 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
数据库设计的包括哪两种,请分别进行说明
2016/07/15 面试题
幼儿园母亲节活动方案
2014/03/10 职场文书
保密协议书范本
2014/04/22 职场文书
临床专业自荐信
2014/06/22 职场文书
品牌转让协议书
2014/08/20 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
2016教师节问候语
2015/11/10 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python