当前位置: 首页 > news >正文

PyQt5-高级控件-容器StackedWidget

QTackedWidget是一个堆栈窗口控件,可以填充一些小控件,但是同一时间只有一个小控件可以显示。
QStackedWidget使用QStackedLayout布局。QSTackedWidget控件与QTabWidget类似,可以有效的显示窗口的控件。

from PyQt5.Qt import *
import sysclass MainWindow(QWidget):def __init__(self):super().__init__()self.setWindowTitle('StackedWidget-基本使用')# 创建列表窗口,添加条目self.list_widget = QListWidget()self.list_widget.insertItem(0, '联系方式')self.list_widget.insertItem(1, '个人信息')self.list_widget.insertItem(2, '教育程度')# 创建三个视图控件self.stack1 = QWidget()self.stack2 = QWidget()self.stack3 = QWidget()self.stack1_ui()self.stack2_ui()self.stack3_ui()# 在QStackedWidget对象中填充了三个子控件self.stack = QStackedWidget(self)self.stack.addWidget(self.stack1)self.stack.addWidget(self.stack2)self.stack.addWidget(self.stack3)# 主界面,使用水平布局h_layout = QHBoxLayout()h_layout.addWidget(self.list_widget)h_layout.addWidget(self.stack)self.setLayout(h_layout)self.list_widget.currentRowChanged.connect(self.display)def stack1_ui(self):f_l = QFormLayout()f_l.addRow('姓名', QLineEdit())f_l.addRow('地址', QLineEdit())self.stack1.setLayout(f_l)def stack2_ui(self):h_l = QHBoxLayout()h_l.addWidget(QRadioButton('男'))h_l.addWidget(QRadioButton('女'))f_l = QFormLayout()f_l.addRow(QLabel('性别'), h_l)f_l.addRow('生日', QLineEdit())self.stack2.setLayout(f_l)def stack3_ui(self):h_l = QHBoxLayout()h_l.addWidget(QLabel('科目'))h_l.addWidget(QCheckBox('语文'))h_l.addWidget(QCheckBox('数学'))self.stack3.setLayout(h_l)def display(self, row_index: int):# 使用QListWidget的行索引值,改变StackedWidget堆叠控件的视图self.stack.setCurrentIndex(row_index)if __name__ == '__main__':app = QApplication(sys.argv)demo = MainWindow()demo.show()sys.exit(app.exec_())

运行效果图

http://www.lryc.cn/news/578812.html

相关文章:

  • 学习笔记(29):训练集与测试集划分详解:train_test_split 函数深度解析
  • Servlet开发流程(包含IntelliJ IDEA项目添加Tomcat依赖的详细教程)
  • 玄机——某学校系统中挖矿病毒应急排查
  • 打造Docker Swarm集群服务编排部署指南:从入门到精通
  • 【公司环境下发布个人NPM包完整教程】
  • 网络协议概念与应用层
  • 解释LLM怎么预测下一个词语的
  • 图像二值化方法及 Python OpenCV 实现
  • 使用v-bind指令绑定属性
  • 【第三章:神经网络原理详解与Pytorch入门】01.神经网络算法理论详解与实践-(1)神经网络预备知识(线性代数、微积分、概率等)
  • 新能源汽车功率级测试自动化方案:从理论到实践的深度解析
  • 如何将文件从 iPhone 传输到 Android(新指南)
  • 网安-XSS-pikachu
  • MUX-VLAN基本概述
  • 【格与代数系统】格与哈斯图
  • 【分明集合】特征函数、关系与运算
  • 【HarmonyOS】鸿蒙使用仓颉编程入门
  • 【1.6 漫画数据库设计实战 - 从零开始设计高性能数据库】
  • UniApp完全支持快应用QUICKAPP-以及如何采用 Uni 模式开发发行快应用优雅草卓伊凡
  • 飞算智造JavaAI:智能编程革命——AI重构Java开发新范式
  • uniapp内置蓝牙打印
  • WPF中Style和Template异同
  • LEFE-Net:一种轴承故障诊断的轻量化高效特征提取网络
  • 设计模式(七)
  • 08跨域
  • 【环境配置】Neo4j Community Windows 安装教程
  • 7.可视化的docker界面——portainer
  • docker拉取镜像报错:Get https://registry-1.docker.io/v2/: net/http: request canceled
  • 基于SpringBoot + HTML 的网上书店系统
  • 大模型及agent开发5 OpenAI Assistant API 进阶应用