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的源码来解析Python下的freeblock
May 11 Python
python之PyMongo使用总结
May 26 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
TensorFlow损失函数专题详解
Apr 26 Python
python匹配两个短语之间的字符实例
Dec 25 Python
python执行精确的小数计算方法
Jan 21 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
Mar 27 Python
Python实现ATM系统
Feb 17 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
python如何调用java类
Jul 05 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类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
必须收藏的php实用代码片段
2016/02/02 PHP
PHP页面静态化――纯静态与伪静态用法详解
2020/06/05 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
使用jquery获取网页中图片高度的两种方法
2013/09/26 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
js实现当前输入框高亮显示的方法
2015/08/19 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
基于vue+uniapp直播项目实现uni-app仿抖音/陌陌直播室功能
2019/11/12 Javascript
Vue+Element实现网页版个人简历系统(推荐)
2019/12/31 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
Python中apply函数的用法实例教程
2014/07/31 Python
将Python代码嵌入C++程序进行编写的实例
2015/07/31 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
用python与文件进行交互的方法
2018/03/01 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
大学生期末自我鉴定
2014/02/01 职场文书
自我鉴定标准格式
2014/03/19 职场文书
大学生村官演讲稿
2014/04/25 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
活动新闻稿范文
2015/07/17 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记