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 相关文章推荐
使用Python的Supervisor进行进程监控以及自动启动
May 29 Python
MySQLdb ImportError: libmysqlclient.so.18解决方法
Aug 21 Python
Python 文件管理实例详解
Nov 10 Python
Python实现基本数据结构中栈的操作示例
Dec 04 Python
mac系统安装Python3初体验
Jan 02 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
python自定义函数实现最大值的输出方法
Jul 09 Python
Python Django 简单分页的实现代码解析
Aug 21 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
Python tkinter三种布局实例详解
Jan 06 Python
十个Python自动化常用操作,即拿即用
May 10 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
yii中widget的用法
2014/12/03 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
PHP根据key删除数组中指定的元素
2019/02/28 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
密码框显示提示文字jquery示例
2013/08/29 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
JavaScript使用Prototype实现面向对象的方法
2015/04/14 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
2017/12/10 Javascript
jQuery实现的淡入淡出图片轮播效果示例
2018/08/29 jQuery
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
整理Python 常用string函数(收藏)
2016/05/30 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
keras打印loss对权重的导数方式
2020/06/10 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
Linux内核产生并发的原因
2016/11/08 面试题
会计学个人自荐信模板
2013/12/13 职场文书
喜之郎果冻广告词
2014/03/20 职场文书
个人自我鉴定总结
2014/03/25 职场文书
房屋出售协议书
2014/04/10 职场文书
放弃继承权公证书
2015/01/23 职场文书
2015年项目工作总结
2015/04/29 职场文书
关于迟到的检讨书
2015/05/06 职场文书
中国合伙人观后感
2015/06/02 职场文书
2016年教师政治思想表现评语
2015/12/02 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android