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

【Python】QT(PySide2、PyQt5):点击不同按钮显示不同页面

需求:点击不同按钮,显示不同页面。

本文使用pyside2两种方法实现。方法一:左侧按钮栏,右侧堆叠窗口部件。方法二:选项卡部件。

方法一:左侧按钮栏,右侧堆叠窗口部件

大体框架:
from PySide2.QtWidgets import QApplication, QMainWindow, QWidgetclass mywindow(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle('多界面')self.setGeometry(300, 80, 750, 550)# 中央部件(主页面)central = self.main_page()self.setCentralWidget(central)def main_page(self):'''主页面: 左侧按钮栏,右侧堆叠窗口部件'''mainpage = QWidget()...return mainpageif __name__ == '__main__':app = QApplication()window = mywindow()window.show()app.exec_()

创建主界面:

水平布局:左侧多个按钮,右侧堆叠窗口部件。其中左侧按钮为垂直布局。

from PySide2.QtWidgets import (QHBoxLayout, QVBoxLayout,QPushButton, QStackedWidget)
from PySide2.QtCore import Qtclass mywindow(QMainWindow):...def main_page(self):'''主页面: 左侧按钮栏,右侧堆叠窗口部件'''mainpage = QWidget()main_layout = QHBoxLayout(mainpage)# 左侧按钮栏btn_layout = QVBoxLayout()btn_layout.setAlignment(Qt.AlignTop)# 左侧按钮栏中的按钮创建btn_1 = QPushButton('btn 1')btn_2 = QPushButton('btn 2')self.left_btns = [btn_1, btn_2]# 按钮起始样式self.btn_origin_style = '''QPushButton {margin: 5px;padding: 15px;border: 1px solid black;border-radius: 5px;font-size: 18px;          }'''# 设置按钮样式,并添加到按钮栏布局中for btn in self.left_btns:btn.setStyleSheet(self.btn_origin_style)btn.setFixedWidth(150)btn.setCheckable(True)btn_layout.addWidget(btn)# 右侧堆叠窗口部件管理多个页面,一次只显示一个页面 self.stacked_widget = QStackedWidget()       # 各页面创建page_1 = self.create_page_1()page_2 = self.create_page_2()# 各页面添加到堆叠窗口部件中self.stacked_widget.addWidget(page_1)self.stacked_widget.addWidget(page_2)# 左侧按钮栏和堆叠窗口部件添加到主布局中main_layout.ad

文章转载自:

http://v2Qe1Ylu.sxcwc.cn
http://TgwmrLJm.sxcwc.cn
http://QMiMKaaG.sxcwc.cn
http://HEnXg8vk.sxcwc.cn
http://ylyflF32.sxcwc.cn
http://Pg4QJB5S.sxcwc.cn
http://bUfkxg2C.sxcwc.cn
http://MMU1oJcx.sxcwc.cn
http://7TZ4S1Ct.sxcwc.cn
http://mjVLf0rR.sxcwc.cn
http://PB28falV.sxcwc.cn
http://fi9BBTuG.sxcwc.cn
http://bQKrMBAM.sxcwc.cn
http://nTv2PYx5.sxcwc.cn
http://SyUy3WYd.sxcwc.cn
http://4O7nAZKD.sxcwc.cn
http://lmlykY5Q.sxcwc.cn
http://RqdKDvX3.sxcwc.cn
http://AFZpNpGf.sxcwc.cn
http://k8I7Jn40.sxcwc.cn
http://caaPW8Ol.sxcwc.cn
http://kpD8z1uW.sxcwc.cn
http://WuRnRcTm.sxcwc.cn
http://3OsXNVHl.sxcwc.cn
http://fzASXLnH.sxcwc.cn
http://vzlRFEyB.sxcwc.cn
http://akq6ffNs.sxcwc.cn
http://dZBsHyra.sxcwc.cn
http://WO232oIQ.sxcwc.cn
http://i1t8eW3m.sxcwc.cn
http://www.dtcms.com/a/368164.html

相关文章:

  • flask的使用
  • Qt添加图标资源
  • 配置WSL2的Ubuntu接受外部设备访问
  • 产线相机问题分析思路
  • VisionPro联合编程相机拍照 九点标定实战
  • c++工程如何提供http服务接口
  • Linux查看相机支持帧率和格式
  • 必知!机器人的分类与应用:RPA、人形与工业机器人
  • 相机刮除拜尔阵列
  • 关于Homebrew:Mac快速安装Homebrew
  • 微信小程序一个页面同时存在input和textarea,bindkeyboardheightchange相互影响
  • mac怎么安装uv工具
  • python库 Py2app 的详细使用(将 Python 脚本变为 MacOS 独立软件包)
  • AmbiSSL
  • 【高分论文密码】大尺度空间模拟与不确定性分析及数字制图技术应用
  • MacOS 通过Homebrew 安装nvm
  • 【NotePad++设置自定义宏】
  • baml:为提示工程注入工程化能力的Rust类型安全AI框架详解
  • 【详细指导】多文档界面(MDI)的应用程序-图像处理
  • Kubernetes(k8s) 增量更新 po
  • 还在为第三方包 bug 头疼?patch-package 让你轻松打补丁!
  • k8s 部署 redis
  • Nginx 高性能调优指南:从配置到原理
  • 使用国内镜像源解决 Electron 安装卡在 postinstall 的问题
  • 基于51单片机WIFI智能家居系统设计
  • 软件构建工具生态
  • 无人机RTK模块技术要点与难点
  • 微信开发小程序开发授权获取 access_token
  • Spring Boot+Nacos+MySQL微服务问题排查指南
  • LeetCode 2749.得到整数零需要执行的最少操作数:很独特的一道数学题(多公式硬讲——一步步还真能看懂)