2016-06-11 112 views

回答

0

下面是遞歸遍歷每個項目及其子項並全部選擇它們的一種方法。它利用每個QTreeWidget的根的invisibleRootItem。您也可以將樹中的任何項目傳遞給此函數,並選擇該項目及其所有子項。

def select_item(item) 
    item.setSelected(True) 
    for i in range(item.childCount()): 
     child = item.child(i) 
     select_item(child) 

item = tree.invisibleRootItem() 
select_item(item) 
1

您可以使用QTreeView.selectAll(),但只有選擇模式設定的東西,允許多個選擇後(使用QAbstractItemView.setSelectionMode())。

實施例(PyQt4中使用QtGui代替QtWidgets):

from PyQt5 import QtWidgets 

app = QtWidgets.QApplication([]) 

widget = QtWidgets.QTreeWidget() 
widget.addTopLevelItems([QtWidgets.QTreeWidgetItem(['dog']), QtWidgets.QTreeWidgetItem(['car'])]) 
widget.setSelectionMode(QtWidgets.QAbstractItemView.ContiguousSelection) 
widget.selectAll() 

widget.show() 

app.exec_() 

,它看起來像:

enter image description here

相關問題