Alexey13
Июнь 6, 2017 21:35:26
Здравствуйте,
Создаю в окне QMainWindow обьект mtree = qtreeview, там используется модель qstandartItemodel и итемы qstandartItem. На некоторые итемы вешаю делегата для изменения содержимого.
Например при изменении содержимого item1 необходимо перерисовать график.
Делаю так:
self.mtree.model().itemChanged.connect(self.myplot)
Однако myplot вызывается при изменении любого итема в mtree. Не могу понять как вызывать только при изменении item1?
vic57
Июнь 7, 2017 05:17:55
http://pyqt.sourceforge.net/Docs/PyQt4/qstandarditemmodel.html#itemChangedв слоте ты получаешь указатель на item, проверяй item.row(),item.index()…
я предпочитаю делать через contextMenuEvent
Alexey13
Июнь 7, 2017 10:52:53
А как мне получить указатель в слоте myplot на item?
Сделал так в myplot прописал
sender = self.sender(), но sender возвращает указатель на qstandartItemodel, а не на сам item
Alexey13
Июнь 8, 2017 09:45:59
Спасибо, заработало:
def myplot(self, item)