0
我有一个程序与QTreeView,我想要禁用/启用工具栏中的一些操作取决于哪个节点被选中,但我不知道如何获得选定的节点。谁能帮忙?选择TreeView中的哪个节点(PySide)?
我有一个程序与QTreeView,我想要禁用/启用工具栏中的一些操作取决于哪个节点被选中,但我不知道如何获得选定的节点。谁能帮忙?选择TreeView中的哪个节点(PySide)?
在下面的例子中,我展示了如何知道在QTreeView中选择了哪些项目,为此我们使用selectionChanged信号返回选定和取消选择的项目,然后迭代并获取QModelIndex,并通过这个和我们的模型获取数据。
from PySide.QtGui import *
from PySide.QtCore import *
class Main(QTreeView):
def __init__(self):
QTreeView.__init__(self)
model = QFileSystemModel()
model.setRootPath(QDir.homePath())
self.setModel(model)
m = self.selectionModel()
m.selectionChanged.connect(self.onSelectionChanged)
def onSelectionChanged(self, selected, deselected):
for index in selected.indexes():
print(self.model().data(index))
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = Main()
w.show()
sys.exit(app.exec_())
非常感谢! – kelly