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