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之模拟鼠标键盘动作具体实现
Dec 30 Python
python里对list中的整数求平均并排序
Sep 12 Python
python连接数据库的方法
Oct 19 Python
python实现手机通讯录搜索功能
Feb 22 Python
python实现树形打印目录结构
Mar 29 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
python实现AES加密解密
Mar 28 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Python基于numpy模块实现回归预测
May 14 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 Python
详解Pycharm与anaconda安装配置指南
Aug 25 Python
基于Python爬取搜狐证券股票过程解析
Nov 18 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
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
PHP中上传大体积文件时需要的设置
2006/10/09 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
php实现的http请求封装示例
2016/11/08 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
详解用node编写自己的cli工具
2017/05/23 Javascript
详解如何去除vue项目中的#——History模式
2017/10/13 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
纽约21世纪百货官网:Century 21
2016/08/27 全球购物
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
Boden英国官网:英国知名原创时装品牌
2018/11/06 全球购物
给小学生的新年寄语
2014/04/04 职场文书
担保书范本
2015/01/20 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
立案决定书范文
2015/06/24 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python