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 に答える