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使用Socket(Https)Post登录百度的实现代码
May 18 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
利用aardio给python编写图形界面
Aug 21 Python
python3爬取淘宝信息代码分析
Feb 10 Python
详解python解压压缩包的五种方法
Jul 05 Python
django的model操作汇整详解
Jul 26 Python
python对数组进行排序,并输出排序后对应的索引值方式
Feb 28 Python
新手入门学习python Numpy基础操作
Mar 02 Python
python实现贪吃蛇游戏源码
Mar 21 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 Python
keras分类模型中的输入数据与标签的维度实例
Jul 03 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 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+MYSQL开发工具及资源收藏
2007/01/02 PHP
Phpbean路由转发的php代码
2008/01/10 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
简单谈谈php中的unicode和utf8编码
2015/06/10 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
Javascript基础教程之switch语句
2015/01/18 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
Django工程的分层结构详解
2019/07/18 Python
django创建简单的页面响应实例教程
2019/09/06 Python
python之列表推导式的用法
2019/11/29 Python
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
软件测试面试题
2014/01/05 面试题
酒店保安员岗位职责
2014/01/31 职场文书
运动会通讯稿300字
2014/02/02 职场文书
工程建设实施方案
2014/03/14 职场文书
物业管理专业求职信
2014/06/11 职场文书
先进事迹演讲稿
2014/09/01 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
Javascript之datagrid查询详解
2021/09/15 Javascript
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js