Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Событие связанное с изменением в ячейке [RSS Feed]

#1 Июнь 6, 2017 21:35:26

Alexey13
Зарегистрирован: 2017-05-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Событие связанное с изменением в ячейке

Здравствуйте,

Создаю в окне QMainWindow обьект mtree = qtreeview, там используется модель qstandartItemodel и итемы qstandartItem. На некоторые итемы вешаю делегата для изменения содержимого.
Например при изменении содержимого item1 необходимо перерисовать график.
Делаю так:
self.mtree.model().itemChanged.connect(self.myplot)
Однако myplot вызывается при изменении любого итема в mtree. Не могу понять как вызывать только при изменении item1?

Офлайн

#2 Июнь 7, 2017 05:17:55

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Событие связанное с изменением в ячейке

http://pyqt.sourceforge.net/Docs/PyQt4/qstandarditemmodel.html#itemChanged
в слоте ты получаешь указатель на item, проверяй item.row(),item.index()…
я предпочитаю делать через contextMenuEvent

Отредактировано vic57 (Июнь 7, 2017 05:52:30)

Офлайн

#3 Июнь 7, 2017 10:52:53

Alexey13
Зарегистрирован: 2017-05-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Событие связанное с изменением в ячейке

А как мне получить указатель в слоте myplot на item?
Сделал так в myplot прописал
sender = self.sender(), но sender возвращает указатель на qstandartItemodel, а не на сам item

Офлайн

#4 Июнь 7, 2017 13:54:51

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Событие связанное с изменением в ячейке

 def on_itemChanged(self,item):
    print item.index(),item.row()

Отредактировано vic57 (Июнь 7, 2017 13:55:57)

Офлайн

#5 Июнь 8, 2017 09:45:59

Alexey13
Зарегистрирован: 2017-05-25
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Событие связанное с изменением в ячейке

Спасибо, заработало:
def myplot(self, item)

Офлайн

  • Начало
  • » GUI
  • » Событие связанное с изменением в ячейке[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version