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实现检测服务器是否可以ping通的2种方法
Jan 01 Python
python+matplotlib绘制3D条形图实例代码
Jan 17 Python
python学生信息管理系统
Mar 13 Python
TensorFlow 滑动平均的示例代码
Jun 19 Python
python实现图书借阅系统
Feb 20 Python
Python使用pymongo库操作MongoDB数据库的方法实例
Feb 22 Python
Python3简单实现串口通信的方法
Jun 12 Python
在django模板中实现超链接配置
Aug 21 Python
浅谈Python3识别判断图片主要颜色并和颜色库进行对比的方法
Oct 25 Python
原来我一直安装 Python 库的姿势都不对呀
Nov 11 Python
python实现局域网内实时通信代码
Dec 22 Python
Python如何识别银行卡卡号?
Jun 10 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
2.PHP入门
2006/10/09 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
2013/11/22 Javascript
nodejs中实现路由功能
2014/12/29 NodeJs
javascript实现淡蓝色的鼠标拖动选择框实例
2015/05/09 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
实现placeholder效果的方案汇总
2015/06/11 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
jQuery插件JWPlayer视频播放器用法实例分析
2017/01/11 Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
2017/07/26 Javascript
JS SetInterval 代码实现页面轮询
2017/08/11 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
pycharm显示远程图片的实现
2019/11/04 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
2020/12/07 HTML / CSS
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
应聘收银员个人的求职信
2013/11/30 职场文书
大学生心理活动总结
2014/07/04 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
超市仓管员岗位职责范本
2014/09/18 职场文书
工作失职检讨书范文
2015/05/05 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
MySQL sql模式设置引起的问题
2022/05/15 MySQL
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers