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和shell实现的校验IP地址合法性脚本分享
Oct 23 Python
python生成随机图形验证码详解
Nov 08 Python
Python中pillow知识点学习
Apr 30 Python
python的中异常处理机制
Aug 30 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
Flask框架踩坑之ajax跨域请求实现
Feb 22 Python
linux下python中文乱码解决方案详解
Aug 28 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
pycharm设置默认的UTF-8编码模式的方法详解
Jun 01 Python
python语言的优势是什么
Jun 17 Python
一文轻松掌握python语言命名规范规则
Jun 18 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
Apr 07 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获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
2014/06/23 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
浅谈javascript中的 “ && ” 和 “ || ”
2017/02/02 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
JavaScript框架Angular和React深度对比
2017/11/20 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
跨域请求两种方法 jsonp和cors的实现
2018/11/11 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
微信小程序实现锚点跳转
2020/11/23 Javascript
用python处理图片实现图像中的像素访问
2018/05/04 Python
python flask解析json数据不完整的解决方法
2019/05/26 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
python 工具 字符串转numpy浮点数组的实现
2020/03/14 Python
一家专门做特卖的网站:唯品会
2016/10/09 全球购物
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
应届生学校辅导员求职信
2013/11/07 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
医生个人年度总结
2015/02/28 职场文书
2015年宣传部工作总结范文
2015/03/31 职场文书
学术会议通知
2015/04/15 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python
无线电知识基础入门篇
2022/02/18 无线电