2017-11-16 25 views
1

QTreeWidgetに入れ子リストを取り込むため、親行の選択を無効にする必要があります。QTreeWidgetの親行の選択を無効にする

コードは次のとおりです。

def fillTree(self): 
    ''' 
    Fill UI with list of parts 
    ''' 
    roots = ['APLE', 'ORANGE', 'MANGO'] 
    childs = ['body', 'seed', 'stern'] 
    parent = self.treeWidget.invisibleRootItem() 
    for root in roots: 
     widgetTrim = QTreeWidgetItem() 
     widgetTrim.setText(0, root) 
     parent.addChild(widgetTrim) 
     for child in childs: 
      widgetPart = QTreeWidgetItem() 
      widgetPart.setText(0, child) 
      widgetTrim.addChild(widgetPart) 

enter image description here

私は "果物" 項目の選択を回避する必要があります。

+1

QTreeViewまたはQTreeWidget? ** QTreeWidgetItem ** – eyllanesc

+0

メインウィジェット - QTreeWidget – kiryha

答えて

1

あなたはitem-flagsからQt.ItemIsSelectableを削除する必要があります。

widgetTrim = QTreeWidgetItem() 
widgetTrim.setFlags(widgetTrim.flags() & ~Qt.ItemIsSelectable) 

フラグが一緒に組み合わせItemFlag値論理和演算されています。そのため、bitwise AND NOT演算を使用して、既存のフラグの組み合わせからItemIsSelectableを削除します。

+0

ありがとうございます!それはどういう意味ですか? – kiryha

+1

@kiryha。ビット単位ではありません。フラグはORで結ばれているので、現在のフラグはすべて選択できますが、選択可能フラグはありません。 – ekhumoro

関連する問題