QTreeWidget のリアルタイム検索を構築しようとしています。つまり、QLineEdit があり、入力すると、表示された結果が QTreeWidget でフィルター処理されます。
現時点では、 QTreeWidget.findItems() で「まだ表示されているアイテム」を取得しています
foundItems = mainForm.ui.treeShips.findItems(text,QtCore.Qt.MatchContains)
後で QTreeWidget (mainForm.ui.treeShips) をクリアします
mainForm.ui.treeShips.clear()
次に、「まだ表示されているアイテム」を追加したい
mainForm.ui.treeShips.addTopLevelItems(foundItems)
しかし、「基になるC/C++オブジェクトが削除されました」というエラーでプログラムがクラッシュします
私の最初のアイデアは、treeShip をクリアすると、foundItems のコンテンツもクリアされ、foundItems のオブジェクト ( print(foundItems) ) と treeShips のオブジェクトが同じアドレスを持ち、プログラムがこのリストを操作したいときに、クラッシュ。
誰かがそれを修正する方法を知っていますか、またはそのような「検索フィルター」を適用するためのより良いアイデアを持っていますか?
(私の問題を正しく説明できれば幸いです:))
よろしくお願いします