Форум сайта python.su
Здравствуйте,
Создаю в окне QMainWindow обьект mtree = qtreeview, там используется модель qstandartItemodel и итемы qstandartItem. На некоторые итемы вешаю делегата для изменения содержимого.
Например при изменении содержимого item1 необходимо перерисовать график.
Делаю так:
self.mtree.model().itemChanged.connect(self.myplot)
Однако myplot вызывается при изменении любого итема в mtree. Не могу понять как вызывать только при изменении item1?
Офлайн
http://pyqt.sourceforge.net/Docs/PyQt4/qstandarditemmodel.html#itemChanged
в слоте ты получаешь указатель на item, проверяй item.row(),item.index()…
я предпочитаю делать через contextMenuEvent
Отредактировано vic57 (Июнь 7, 2017 05:52:30)
Офлайн
А как мне получить указатель в слоте myplot на item?
Сделал так в myplot прописал
sender = self.sender(), но sender возвращает указатель на qstandartItemodel, а не на сам item
Офлайн
def on_itemChanged(self,item): print item.index(),item.row()
Отредактировано vic57 (Июнь 7, 2017 13:55:57)
Офлайн
Спасибо, заработало:
def myplot(self, item)
Офлайн