2016/7/20 1:18:29 PyQT5 炫酷的左侧导航效果

2016/7/20 1:18:29 

完整code

  1. from PyQt5.QtWidgets import (QApplication, QWidget, QHBoxLayout,
  2. QTreeWidget, QTreeWidgetItem,
  3. QGroupBox)
  4. from PyQt5.QtGui import QIcon, QPixmap
  5. from PyQt5.QtCore import QSize
  6. class Bar_Navigation(QWidget):
  7. def __init__(self):
  8. super(Bar_Navigation, self).__init__()
  9. self.setMinimumHeight(600);
  10. self.setMinimumWidth(800);
  11. ##layout_main.setMargin(5)
  12. ##layout_main.setSpace(5)
  13. self.creat_main_layout()
  14. self.creat_bar_navigation()
  15. self.creat_left_box()
  16. def get_bar_list(self):
  17. bar_list_item = []
  18. bar_list_1 = ["订货管理",
  19. ["客户订货", "库存订货", "供货商订货"]
  20. ]
  21. bar_list_2 = ["入库管理",
  22. ["采购入库", "订货入库", "其它入库"]
  23. ]
  24. bar_list_item.append(bar_list_1)
  25. bar_list_item.append(bar_list_2)
  26. return bar_list_item
  27. def creat_main_layout(self):
  28. self.layout_main = QHBoxLayout()
  29. self.setLayout( self.layout_main)
  30. def creat_bar_list(self, data):
  31. for item in data:
  32. item_1 = QTreeWidgetItem( self.tree_Navigation)
  33. ##item_1.setText(0,item[0])
  34. ## 设置节点的打开/关闭状态下的不同的图片
  35. icon = QIcon()
  36. ##节点打开状态
  37. icon.addPixmap(QPixmap("./logo2.png"), QIcon.Normal, QIcon.On)
  38. ##节点关闭状态  
  39. icon.addPixmap(QPixmap("./logo1.png"), QIcon.Normal, QIcon.Off)
  40. item_1.setIcon(0, icon)
  41. for item_item in item[1]:
  42. item_1_1 = QTreeWidgetItem( item_1);
  43. item_1_1.setText(0,item_item)
  44. self.tree_Navigation.addTopLevelItem(item_1);
  45. def creat_bar_navigation(self):
  46. self.tree_Navigation = QTreeWidget()
  47. self.tree_Navigation.setHeaderLabel("左侧导航栏");
  48. self.tree_Navigation.setColumnCount(1)
  49. self.tree_Navigation.setMaximumWidth(150);
  50. icon_size = QSize(100, 30)
  51. self.tree_Navigation.setIconSize(icon_size)
  52. ##如果treewidget就一列,该列的宽度默认等于treewidget的宽度,两列以上的话才起作用.
  53. ##self.tree_Navigation.setColumnWidth(0,100);
  54. data = self.get_bar_list()
  55. self.creat_bar_list(data)
  56. self.layout_main.addWidget(self.tree_Navigation)
  57. ## QModelIndex
  58. ##self.tree_Navigation.doubleClicked.connect(self.showModelSelected)
  59. ## QTreeWidgetItem
  60. self.tree_Navigation.itemDoubleClicked.connect(self.showSelected)
  61. ## QModelIndex
  62. def showModelSelected(self, modelIndex):
  63. print( modelIndex.row(), modelIndex.column())
  64. ## itemObj:QTreeWidgetItem
  65. def showSelected(self, item, column):
  66. ##获得父节点
  67. parent=item.parent()
  68. ## 注:本例的深度只有2,因此只有index_top,index_row两个变量表示路径
  69. ##根节点上的索引
  70. ## 合理值:非负整数
  71. index_top = 0
  72. ## 子节点上的索引
  73. ##如果为-1则标示是根节点上的项;如果不是-1则标示在子节点上
  74. ## 合理值:非负整数
  75. index_row = -1
  76. ## 如果是要判断是否为None,则:
  77. if parent is None:
  78. index_top= self.tree_Navigation.indexOfTopLevelItem(item)
  79. else :
  80. index_top = self.tree_Navigation.indexOfTopLevelItem(parent)
  81. index_row=parent.indexOfChild(item)##获得节点在父节点中的行号(从0开始)
  82. print(index_top, index_row)
  83. def creat_left_box(self):
  84. self.box_left = QGroupBox(‘left party‘)
  85. self.layout_main.addWidget(self.box_left)
  86. if __name__ == "__main__":
  87. import sys
  88. app = QApplication(sys.argv)
  89. window = Bar_Navigation()
  90. window.show()
  91. sys.exit(app.exec_())

来自为知笔记(Wiz)

时间: 2024-08-04 06:11:19

2016/7/20 1:18:29 PyQT5 炫酷的左侧导航效果的相关文章

[Android] BottomBar+ViewPager+Fragment实现炫酷的底部导航效果

BottomBar BottomBar是Github上的一个开源框架,因为从1.3.3开始不支持fragments了,要自己配置,弄了很久,不管是app的fragment还是V4 的程序总是总是闪退.于是就用这种方式实现了,效果还不错.github有详细说明,多余的就不说了. 这个roughike是这个项目的所有者(大神致敬). 我用的是android studio开发,fragment全部导的V4的包(以为最开始就支持的是v4的,后面也支持了app.fragment). 首先是dependen

Android 从无到有打造一个炫酷的进度条效果

从无到有打造一个炫酷的进度条效果

【OneAPM】极客编程挑战#025:发挥想象生成漂亮炫酷的SVG动画效果

活动链接:http://www.gbtags.com/gb/share/5610.htm 本期挑战 提供如下的SVG图形,请使用任何技术生成基于如下SVG图形的动画效果,看看谁设计的动画效果最酷 ~~ <svg width="720px" height="486px"> <g id="layer1"> <path style="fill:#888888" d="m 434.02002,3

10大炫酷的HTML5文字动画特效欣赏

文字是网页中最基本的元素,在CSS2.0时代,我们只能在网页上展示静态的文字,只能改变他的大小和颜色,显得枯燥无味.随着HTML5的发展,现在网页中的文字样式变得越来越丰富了,甚至出现了文字动画,HTML5和CSS3的强大之处就在于此.本文分享的10款炫酷的HTML5文字动画特效非常不错,一起来看看吧. 1.HTML5 Canvas粒子效果文字动画特效 之前我们分享过很多超酷的文字特效,其中也有利用HTML5和CSS3的.今天我们要来分享一款基于HTML5 Canvas的文字特效,输入框中输入想

流量水波浪效果,超级炫酷暖人

流量水波浪效果,超级炫酷暖人 只有效果,大家择善而从.好看的给点个赞就好了 下载地址:http://www.devstore.cn/code/info/801.html 运行截图: 热门源码下载: 高仿京东商城 Android快速开发不可或缺的11个工具类 Android快速开发框架LoonAndroid Android应用源码比较不错的新闻客户端 版权声明:本文为博主原创文章,未经博主允许不得转载.

流量水波浪效果,超级炫酷暖

流量水波浪效果,超级炫酷暖人 只有效果,大家择善而从.好看的给点个赞就好了 下载地址:http://www.devstore.cn/code/info/801.html 运行截图:

软考信息系统监理师 2016年3月18日作业

软考信息系统监理师,2016年3月18日作业: 第四章 监理单位的组织建设 1.监理单位的体系建设分为哪3部分? 答:分为业务体系建设.质保体系建设.管理体系建设 2.监理单位监理服务质量管理的方式有2种,哪2种?优缺点是什么? 答:一种是以单位管理为主,一种是以监理项目部自我管理为主. 以单位管理为主的质量管理模式的优点是可以保证单位各个监理项目部按照统一 的要求进行监理,易于控制;缺点是限制了总监理工程师质量控制的积极性,管 理费用大.以监理项目部为主的质量管理模式的优点与缺点正好相反. 3

软考信息系统监理师,2016年3月18日作业

软考信息系统监理师,2016年3月18日作业: 第四章 监理单位的组织建设1.监理单位的体系建设分为哪3部分?2.监理单位监理服务质量管理的方式有2种,哪2种?优缺点是什么?3.监理服务质量的控制方式,按照时间可以分为哪3种?按照控制主体分为什么?按照评价方式分为什么?4.监理服务质量控制的内容包括哪些?5.监理单位遵照什么步骤建立和完善质量保证体系?6.监理单位的权利中,应按照""的原则,开展监理工作?7.监理单位的行为准则是什么?8.在行为准则中,什么是公正,什么是独立,什么是科学

谷歌CEO 宣布Google I/O 2016大会将于2016年5月18日Mountain View举办

谷歌CEO Sundar Pichai今日在他的官方Twitter上宣布,Google I/O 2016大会将于2016年5月18日在加州Mountain View拉开帷幕. 这是谷歌一年一度最大的开发者大会.在刚刚过去的2015年,Google I/O大会被评为2015年最受欢迎的开发者大会,位列苹果,微软等各大开发公司大会之首. 你可以通过以下链接订阅Google I/O 2016的新闻已经该大会官方内容. 此外,如果你想体验以下2015年的Google I/O大会,可以观看如下Google