From 66582ba6ac4df623914ef0957fdcb4869f242534 Mon Sep 17 00:00:00 2001 From: Irony <892768447@qq.com> Date: Fri, 8 Nov 2019 13:07:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=81=E6=AD=A2=E7=88=B6=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QTreeWidget/ParentNodeForbid.py | 78 ++++++++++++++++++++ QTreeWidget/README.md | 11 ++- QTreeWidget/ScreenShot/ParentNodeForbid.gif | Bin 0 -> 55639 bytes README.md | 1 + 4 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 QTreeWidget/ParentNodeForbid.py create mode 100644 QTreeWidget/ScreenShot/ParentNodeForbid.gif diff --git a/QTreeWidget/ParentNodeForbid.py b/QTreeWidget/ParentNodeForbid.py new file mode 100644 index 0000000..c422809 --- /dev/null +++ b/QTreeWidget/ParentNodeForbid.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Created on 2019年11月8日 +@author: Irony +@site: https://pyqt5.com https://github.com/892768447 +@email: 892768447@qq.com +@file: QTreeWidget.ParentNodeForbid +@description: 父节点不可选中 +""" +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem + + +__Author__ = 'Irony' +__Copyright__ = 'Copyright (c) 2019' +__Version__ = 1.0 + + +class Window(QTreeWidget): + + def __init__(self, *args, **kwargs): + super(Window, self).__init__(*args, **kwargs) + + # 父节点(不可选中) + pitem1 = QTreeWidgetItem(self, ['parent item 1']) + # 设置不可选中 + pitem1.setFlags(pitem1.flags() & ~Qt.ItemIsSelectable) + # 设置一个标识用于屏蔽鼠标事件 + pitem1.setData(0, Qt.UserRole + 1, True) + + pitem2 = QTreeWidgetItem(self, ['parent item 2']) + pitem2.setFlags(pitem2.flags() & ~Qt.ItemIsSelectable) + pitem2.setData(0, Qt.UserRole + 1, True) + + # 子节点(可选) + citem1 = QTreeWidgetItem(pitem1, ['child item 1']) + citem2 = QTreeWidgetItem(pitem2, ['child item 2']) + + self.expandAll() + + # 信号槽 + self.itemActivated.connect(self.onItemActivated) + self.itemClicked.connect(self.onItemClicked) + self.itemDoubleClicked.connect(self.onItemDoubleClicked) + self.itemPressed.connect(self.onItemPressed) + + def mousePressEvent(self, event): + # 鼠标点击事件,判断当前点击位置是否有item且满足标志则拦截鼠标事件 + item = self.itemAt(event.pos()) + if item and item.data(0, Qt.UserRole + 1): + event.accept() + return + super(Window, self).mousePressEvent(event) + + def onItemActivated(self, item, column): + print('Activated', item.text(0), item, column) + + def onItemClicked(self, item, column): + print('Clicked', item.text(0), item, column) + + def onItemDoubleClicked(self, item, column): + print('DoubleClicked', item.text(0), item, column) + + def onItemPressed(self, item, column): + print('Pressed', item.text(0), item, column) + + +if __name__ == '__main__': + import sys + import cgitb + cgitb.enable(1, None, 5, '') + from PyQt5.QtWidgets import QApplication + app = QApplication(sys.argv) + w = Window() + w.show() + sys.exit(app.exec_()) diff --git a/QTreeWidget/README.md b/QTreeWidget/README.md index 3647b20..a1afc7d 100644 --- a/QTreeWidget/README.md +++ b/QTreeWidget/README.md @@ -3,6 +3,7 @@ - 目录 - [通过json数据生成树形结构](#1通过json数据生成树形结构) - [点击父节点全选/取消全选子节点](#2点击父节点全选取消全选子节点) + - [禁止父节点/禁止父节点](#3禁止父节点) ## 1、通过json数据生成树形结构 [运行 ParsingJson.py](ParsingJson.py) @@ -17,4 +18,12 @@ 点击父节点全选/取消全选子节点 -![testTreeWidget](ScreenShot/allSelectNode.png) \ No newline at end of file +![testTreeWidget](ScreenShot/allSelectNode.png) + +## 3、禁止父节点 +[运行 ParentNodeForbid.py](ParentNodeForbid.py) + + 1. 父节点通过设置`pitem1.setFlags(pitem1.flags() & ~Qt.ItemIsSelectable)`为不可选 + 2. 完全禁用点击等需要重写`mousePressEvent`事件并结合item的标志来判断 + +![ParentNodeForbid](ScreenShot/ParentNodeForbid.gif) \ No newline at end of file diff --git a/QTreeWidget/ScreenShot/ParentNodeForbid.gif b/QTreeWidget/ScreenShot/ParentNodeForbid.gif new file mode 100644 index 0000000000000000000000000000000000000000..272309932ba2136e3c1778115cd5eaf099344f20 GIT binary patch literal 55639 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index c5ceead..76e8ed1 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,7 @@ https://pyqt.site 论坛是专门针对PyQt5学习和提升开设的网站,分 - [通过json数据生成树形结构](QTreeWidget/ParsingJson.py) - [拖拽显示为图片](Test/partner_625781186/12.1拖拽显示为图片) - [点击父节点全选/取消全选子节点](QTreeWidget/testTreeWidget.py) + - [禁止父节点](QTreeWidget/ParentNodeForbid.py) - [QTableWidget](QTableWidget) - [Sqlalchemy动态拼接字段查询显示表格](QTableWidget/SqlQuery.py) - [TableWidget嵌入部件](QTableWidget/TableWidget.py)