PySide2(PyQt5) 实现tab切换及方法详解(不定时更新)
时间:2019-09-25
本文章向大家介绍PySide2(PyQt5) 实现tab切换及方法详解(不定时更新),主要包括PySide2(PyQt5) 实现tab切换及方法详解(不定时更新)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
更多分享:www.catbron.cn
tab的实现用到的是QTabWidget控件,以下仅做简单的演示
源码:
import sys from PySide2 import QtCore, QtGui, QtWidgets class MainWindow(): def __init__(self): self.window = QtWidgets.QMainWindow() self.initSize(0.6) self.mainWidget = QtWidgets.QWidget() self.mainLayout = QtWidgets.QVBoxLayout() self.mainWidget.setLayout(self.mainLayout) self.window.setCentralWidget(self.mainWidget) self.mainLayout.addWidget(self.loadTabWidgets()) def initSize(self, rate): desktop = QtWidgets.QApplication.desktop() self.screenWidth = desktop.width() * rate self.screenHeight = desktop.height() * rate print("screen width is %d height is %d"%(self.screenWidth, self.screenHeight)) self.window.resize(self.screenWidth, self.screenHeight) def loadTabWidgets(self): tabWidgets = QtWidgets.QTabWidget() widget = QtWidgets.QWidget() layout = QtWidgets.QVBoxLayout() label = QtWidgets.QLabel() label.setText("test one QVBoxLayout item one") layout.addWidget(label) label = QtWidgets.QLabel() label.setText("test one QVBoxLayout item one") layout.addWidget(label) label = QtWidgets.QLabel() label.setText("test one QVBoxLayout item one") layout.addWidget(label) widget.setLayout(layout) tabWidgets.addTab(widget, "test one") label = QtWidgets.QLabel() label.setText("test tab two") tabWidgets.addTab(label, "test two") tabWidgets.show() return tabWidgets def show(self): self.window.show()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mainWin = MainWindow()
mainWin.show()
sys.exit(app.exec_())
方法
方法名称 | 参数 | 说明 |
---|---|---|
addTab(title,widget) | (tab名称,控件) | 通过传入tab的按钮名称及widget增加一个tab |
相关阅读
- PySide2(PyQt5) 实现tab切换及方法详解(不定时更新)
- Git常用操作整理
- PySide2(PyQt5)系列:label之hello word
- PySide2(PyQt5)常用组件使用说明
- Mac brew install 软件 轻松 解压7z压缩包
- PySide2(PyQt5)根据屏幕大小初始化窗口大小
- SimHash算法详解
- Android8.0及以上Service background start error
- SpringBoot之JPA注解说明
- Lua初探-可见性规则
原文地址:https://www.cnblogs.com/cnblogzaizai/p/11587406.html
- 自定义带图片和文字的ImageTextButton
- 超值干货:个人开发者如何使用免费又简单的开发后台
- 【周末分享】解决中文排版错位的JustifiedTextview控件
- 超级网络
- c++ fstream + string 处理大数据
- 超炫的FlowingDrawer效果
- 源码分享:仿余额宝数字跳动效果 TextCounter
- 一键清理应用数据或者清除应用缓存的方法
- 开发者必知:谷歌做了一个艰难的决定
- React编程思想
- 基于 React + Webpack 的音乐相册项目(下)
- Python中Keras深度学习库的回归教程
- Apache Spark 1.1中的统计功能
- 一次关闭所有Activity和连续点击两次返回键关闭程序的方法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- RTSP/GB28181/HIKSDK/Ehome协议视频上云服务平台EasyCVR人脸识别开发ArcSoftFace环境搭建
- RTSP/GB28181/HIKSDK/EHome流媒体协议视频上云网关EasyCVR流地址密码不正确如何修正?
- tmux终端意外出现控制字符
- clickhouse编译安装以及搭建mysql实时复制
- Linux回收站机制实现过程及用法详解
- Linux如何基于AIDE检测文件系统完整性
- MySQL压测时Linux中断异常飚高,原来是因为...
- Ubuntu20.04防火墙设置简易教程(小白)
- linux上搭建私有Git服务器的详细教程
- Centos7 安装 Mysql8教程
- linux下快速列出局域网中所有主机名(计算机名)的脚本
- 详解Linux重定向用法
- Zabbix基于snmp实现监控linux主机
- 快速解决linux下中文输入法问题
- Linux实现文件内容去重及求交并差集