python 中pyqt5 树节点点击实现多窗口切换问题


Posted in Python onJuly 04, 2019

下面通过实例代码给大家介绍python 中pyqt5 树节点点击实现多窗口切换问题,具体代码如下所示:

# coding=utf-8
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class Example(QWidget):
 def __init__(self):
  super().__init__()
  self.initUI()
 def initUI(self):
  hbox = QHBoxLayout(self)
  left = QFrame(self)
  # QFrame 控件添加StyledPanel样式能使QFrame 控件之间的界限更加明显
  #left.setFrameShape(QFrame.StyledPanel)
  right = QFrame(self)
  #right.setFrameShape(QFrame.StyledPanel)
  splitter1 = QSplitter(Qt.Horizontal)
  splitter1.addWidget(left)
  splitter1.setSizes([20,]) #设置分隔条位置
  splitter1.addWidget(right)
  hbox.addWidget(splitter1)
  self.setLayout(hbox)
  # 树
  self.tree = QTreeWidget(left)
  self.tree.setStyleSheet("background-color:#eeeeee;border:outset;color:#215b63;")
  self.tree.setAutoScroll(True)
  self.tree.setEditTriggers(QAbstractItemView.DoubleClicked | QAbstractItemView.EditKeyPressed)
  self.tree.setTextElideMode(Qt.ElideMiddle)
  #self.tree.setIndentation(30)
  self.tree.setRootIsDecorated(True)
  self.tree.setUniformRowHeights(False)
  self.tree.setItemsExpandable(True)
  self.tree.setAnimated(False)
  self.tree.setHeaderHidden(True)
  self.tree.setExpandsOnDoubleClick(True)
  self.tree.setObjectName("tree")
  # 设置根节点
  root = QTreeWidgetItem(self.tree)
  root.setText(0, '系统管理')
  # 设置树形控件的列的宽度
  #self.tree.setColumnWidth(0, 150)
  # 设置子节点1
  child1 = QTreeWidgetItem()
  child1.setText(0, '增加人员信息')
  root.addChild(child1)
  # 设置子节点2
  child2 = QTreeWidgetItem(root)
  child2.setText(0, '查询人员信息')
  # 加载根节点的所有属性与子控件
  self.tree.addTopLevelItem(root)
  # 设置stackedWidget
  self.stackedWidget = QStackedWidget(right)
  # 设置第一个面板
  self.form1 = QWidget()
  self.formLayout1 = QHBoxLayout(self.form1)
  self.label1 = QLabel()
  self.label1.setText("增加人员信息面板")
  self.label1.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
  self.label1.setAlignment(Qt.AlignCenter)
  self.label1.setFont(QFont("Roman times", 50, QFont.Bold))
  self.formLayout1.addWidget(self.label1)
  # 设置第二个面板
  self.form2 = QWidget()
  self.formLayout2 = QHBoxLayout(self.form2)
  self.label2 = QLabel()
  self.label2.setText("查询人员信息面板")
  self.label2.setSizePolicy(QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding))
  self.label2.setAlignment(Qt.AlignCenter)
  self.label2.setFont(QFont("Roman times", 50, QFont.Bold))
  self.formLayout2.addWidget(self.label2)
  # 将两个面板,加入stackedWidget
  self.stackedWidget.addWidget(self.form1)
  self.stackedWidget.addWidget(self.form2)
  # 树节点监听事件
  self.tree.clicked.connect(self.onClicked)
  # 窗口最大化
  self.showMaximized()
  self.setWindowTitle('树窗口分隔案列')
  self.show()
 def onClicked(self,qmodeLindex):
  item=self.tree.currentItem()
  print('Key=%s,value=%s'%(item.text(0),item.text(1)))
  if item.text(0) == '增加人员信息':
   self.on_pushButton1_clicked()
  elif item.text(0) == '查询人员信息':
   self.on_pushButton2_clicked()
  else:
   print('返回主界面')
 # 按钮一:打开第一个面板
 def on_pushButton1_clicked(self):
  self.stackedWidget.setCurrentIndex(0)
 # 按钮二:打开第二个面板
 def on_pushButton2_clicked(self):
  self.stackedWidget.setCurrentIndex(1)
if __name__ == '__main__':
 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

ps:下面给大家介绍下python pyqt5 点击按钮来打开另一个窗口

import ui_denglu as dl
import ui_zhuche as zc
from PyQt5.QtWidgets import QApplication,QMainWindow,QDialog
import sys
class parentWindow(QMainWindow):
 def __init__(self):
  QMainWindow.__init__(self)
  self.main_ui = dl.Ui_submit_user()
  self.main_ui.setupUi(self)
class childWindow(QDialog):
 def __init__(self):
  QDialog.__init__(self)
  self.child=zc.Ui_MainWindow()
  self.child.setupUi(self)
if __name__=='__main__':
 app=QApplication(sys.argv)
 window=parentWindow()
 child=childWindow()
 #通过toolButton将两个窗体关联
 btn=window.main_ui.pushButton_new
 btn.clicked.connect(child.show)
 # 显示
 window.show()
 sys.exit(app.exec_())

python 中pyqt5 树节点点击实现多窗口切换问题

python 中pyqt5 树节点点击实现多窗口切换问题

总结

以上所述是小编给大家介绍的python 中pyqt5 树节点点击实现多窗口切换问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
在Python中操作日期和时间之gmtime()方法的使用
May 22 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
May 26 Python
python+django+sql学生信息管理后台开发
Jan 11 Python
Python DataFrame设置/更改列表字段/元素类型的方法
Jun 09 Python
python 从csv读数据到mysql的实例
Jun 21 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
Mac 使用python3的matplot画图不显示的解决
Nov 23 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
基于Python绘制子图及子图刻度的变换等的问题
May 23 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
Jul 04 #Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 #Python
Python+opencv 实现图片文字的分割的方法示例
Jul 04 #Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 #Python
Python使用sklearn库实现的各种分类算法简单应用小结
Jul 04 #Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
Jul 04 #Python
pandas取出重复数据的方法
Jul 04 #Python
You might like
php统计数组元素个数的方法
2015/07/02 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
php微信开发之谷歌测距
2018/06/14 PHP
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
JavaScript函数的一些注意要点小结及js匿名函数
2015/11/10 Javascript
js仿淘宝和百度文库的评分功能
2016/05/15 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
Angular CLI在Angular项目中如何使用scss详解
2018/04/10 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
vue单文件组件无法获取$refs的问题
2020/06/24 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
NEW LOOK官网:英国时装零售巨头之一,快时尚品牌
2017/01/11 全球购物
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
俄罗斯电子产品、计算机和家用电器购物网站:OLDI
2019/10/27 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
护士自荐信怎么写
2013/10/18 职场文书
法制教育演讲稿
2014/09/10 职场文书
一份文言文检讨书
2014/09/13 职场文书
工作收入证明模板
2014/10/10 职场文书
干部作风建设工作总结
2014/10/29 职场文书
前端JavaScript大管家 package.json
2021/11/02 Javascript
MySQL利用UNION连接2个查询排序失效详解
2021/11/20 MySQL