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脚本批量下载DesktopNexus壁纸的教程
May 06 Python
python判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
Python连接Redis的基本配置方法
Sep 13 Python
Python数据类型之Number数字操作实例详解
May 08 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
Jul 15 Python
详解Django模版中加载静态文件配置方法
Jul 21 Python
Python字符串处理的8招秘籍(小结)
Aug 13 Python
Python简易计算器制作方法代码详解
Oct 31 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
Python3爬虫中关于中文分词的详解
Jul 29 Python
Python基于爬虫实现全网搜索并下载音乐
Feb 14 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支持页面回退的两种方法
2008/01/10 PHP
如何在php中正确的使用json
2013/08/06 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
jquery修改属性值实例代码(设置属性值)
2014/01/06 Javascript
Javascript Objects详解
2014/09/04 Javascript
jQuery中:radio选择器用法实例
2015/01/03 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
jQuery实现的简单悬浮层功能完整实例
2017/01/23 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
Django之使用celery和NGINX生成静态页面实现性能优化
2019/10/08 Python
CSS3支持IE6, 7, and 8的边框border属性
2012/12/28 HTML / CSS
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
测绘工程专业个人自我评价
2013/12/01 职场文书
道路建设实施方案
2014/03/18 职场文书
县政府领导班子“四风”方面突出问题整改措施
2014/09/23 职场文书
2014年学校办公室工作总结
2014/12/19 职场文书
初中成绩单评语
2014/12/29 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
销售辞职信范文
2015/03/02 职场文书
校园之声广播稿
2015/08/18 职场文书
Python中的tkinter库简单案例详解
2022/01/22 Python
一行Python命令实现批量加水印
2022/04/07 Python