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发送邮件脚本
May 22 Python
Python脚本完成post接口测试的实例
Dec 17 Python
python 搭建简单的http server,可直接post文件的实例
Jan 03 Python
python 判断矩阵中每行非零个数的方法
Jan 26 Python
Python通过for循环理解迭代器和生成器实例详解
Feb 16 Python
PySide和PyQt加载ui文件的两种方法
Feb 27 Python
linux环境中没有网络怎么下载python
Jul 07 Python
python实现BP神经网络回归预测模型
Aug 09 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
Python正则表达式学习小例子
Mar 03 Python
python 调用API接口 获取和解析 Json数据
Sep 28 Python
python 实现数据库中数据添加、查询与更新的示例代码
Dec 07 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
ajax php 实现写入数据库
2009/09/02 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
PHP调用其他文件中的类
2018/04/02 PHP
php异常处理捕获错误整理
2019/09/23 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
JavaScript的字符串方法汇总
2016/07/31 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
详细谈谈AngularJS的子级作用域问题
2016/09/05 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
Angular的$http与$location
2016/12/26 Javascript
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
Strathberry苏贝瑞中国官网:西班牙高级工匠手工打造
2020/10/19 全球购物
饲料采购员岗位职责
2013/12/19 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
绿色环保演讲稿
2014/05/10 职场文书
我的梦想演讲稿1000字
2014/08/21 职场文书
学习党代会心得体会
2014/09/05 职场文书
六年级小学生评语
2014/12/26 职场文书
稽核岗位职责
2015/02/10 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
毕业生自我鉴定范文
2019/05/13 职场文书