QTreeView
にはclicked
信号がありますが、のようではありませitemChanged
んQTreeWidget
。QTreeView
「モデルベース」なので使用する必要があります。それでも、ユーザーがキーボードで行を選択すると、clicked
送信されず、コールバックが呼び出されることはありません。どの信号に登録すればよいですか?
質問する
1270 次
1 に答える
5
QTreeView
クラスは継承し、選択モデルQAbstractItemView
へのアクセスを提供します。
選択モデルには、現在のアイテムに加えられた変更と、マウスとキーボードの両方での選択を登録するいくつかの信号があります。
編集:
明確にするために、信号は次のように接続する必要があります。
selmodel = self.listing.selectionModel()
selmodel.selectionChanged.connect(self.handleSelectionChanged)
ハンドラーの署名は次のようになります。
def handleSelectionChanged(self, selected, deselected):
indexes = selected.indexes()
if indexes:
print('row: %d' % indexes[0].row())
とQItemSelectionselected
のdeselected
インスタンスです。
于 2012-12-17T19:00:16.967 に答える