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操作MySQL数据库具体方法
Oct 28 Python
用Python编程实现语音控制电脑
Apr 01 Python
从零学Python之入门(三)序列
May 25 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
Python enumerate函数功能与用法示例
Mar 01 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
keras tensorflow 实现在python下多进程运行
Feb 06 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
python 通过使用Yolact训练数据集
Apr 06 Python
Python字符串常规操作小结
Apr 03 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
类的另类用法--数据的封装
2006/10/09 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
多个iframe自动调整大小的问题
2006/09/18 Javascript
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
JS实现动态倒计时功能(天数、时、分、秒)
2019/12/12 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
element-ui封装一个Table模板组件的示例
2021/01/04 Javascript
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
Python脚本实现网卡流量监控
2015/02/14 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
Python正则表达式指南 推荐
2018/10/09 Python
Python数据类型之List列表实例详解
2019/05/08 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
如何在pycharm中安装第三方包
2020/10/27 Python
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
业绩考核岗位职责
2014/02/01 职场文书
经理助理岗位职责
2014/03/05 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
师德师风培训感言
2015/08/03 职场文书
毕业班工作总结
2015/08/10 职场文书
送给客户微信问候语!
2019/07/04 职场文书
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python