gpt4 book ai didi

python - 如何检查 QTreeWidget 项目的状态?

转载 作者:太空宇宙 更新时间:2023-11-04 01:18:07 25 4
gpt4 key购买 nike

使用:

    item=QtGui.QTreeWidgetItem()
item.setCheckState(0,QtCore.Qt.Unchecked)

TreeWidget Item 被设置为显示一个复选框。如果您能告诉我如何将一个项目的复选框状态更改连接到一个函数,我将不胜感激(这样我就可以在每次项目的复选框状态更改时链接一个函数)。我想知道应该查询哪些项目的属性才能获得复选框的当前状态。到目前为止,我一直在使用 QTreeWidget 的

.itemChanged.connect(self.myFunction)

但我得到的只是 Item 对象本身。什么 Item 的属性可用于获取其复选框的状态?...

最佳答案

看起来我曾经遇到过你的问题并使用了 this solution通过 ekhumoro :

def handle(self, item, column):
self.treeWidget.blockSignals(True)
if item.checkState(column) == QtCore.Qt.Checked:
self.handleChecked(item, column)
elif item.checkState(column) == QtCore.Qt.Unchecked:
self.handleUnchecked(item, column)
self.treeWidget.blockSignals(False)

class TreeWidgetItem(QtGui.QTreeWidgetItem):
def setData(self, column, role, value):
state = self.checkState(column)
QtGui.QTreeWidgetItem.setData(self, column, role, value)
if (role == QtCore.Qt.CheckStateRole and
state != self.checkState(column)):
treewidget = self.treeWidget()
if treewidget is not None:
treewidget.itemChecked.emit(self, column)

class Window(QtGui.QTreeWidget):
itemChecked = QtCore.pyqtSignal(object, int)

def __init__(self, rows, columns):
QtGui.QTreeWidget.__init__(self)
self.itemChecked.connect(self.handleItemChecked)

def handleItemChecked(self, item, column):
print 'ItemChecked', int(item.checkState(column))

对我来说效果很好:)

关于python - 如何检查 QTreeWidget 项目的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23074025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com