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图像处理之镜像实现方法
May 30 Python
python检查字符串是否是正确ISBN的方法
Jul 11 Python
Python IDE PyCharm的基本快捷键和配置简介
Nov 04 Python
python文件特定行插入和替换实例详解
Jul 12 Python
Python实现中值滤波去噪方式
Dec 18 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
浅谈TensorFlow中读取图像数据的三种方式
Jun 30 Python
python中翻译功能translate模块实现方法
Dec 17 Python
python Zmail模块简介与使用示例
Dec 19 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 Python
关于python pygame游戏进行声音添加的技巧
Oct 24 Python
如何通过一篇文章了解Python中的生成器
Apr 02 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
一个基于PDO的数据库操作类
2011/03/24 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
php实现的双向队列类实例
2014/09/24 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP8.0新功能之Match表达式的使用
2020/07/19 PHP
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
Json实现异步请求提交评论无需跳转其他页面
2014/10/11 Javascript
JavaScript获取表单内所有元素值的方法
2015/04/02 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
详解在vue-cli中引用jQuery、bootstrap以及使用sass、less编写css
2017/11/08 jQuery
解析Angular 2+ 样式绑定方式
2018/01/15 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
koa-router源码学习小结
2018/09/07 Javascript
VUE实现移动端列表筛选功能
2019/08/23 Javascript
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
vue-cli点击实现全屏功能
2020/03/07 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
js实现星星海特效的示例
2020/09/28 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
python好玩的项目—色情图片识别代码分享
2017/11/07 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
python实现字符串和数字拼接
2020/03/02 Python
django ORM之values和annotate使用详解
2020/05/19 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
PHP如何调用MYSQL存储过程
2014/05/30 面试题
收银员岗位职责
2015/02/03 职场文书
学校重阳节活动总结
2015/03/24 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python