Форум сайта python.su
привет всем.
вот код:
class Table(QtGui.QTableView): cellChanged = QtCore.pyqtSignal(str, name = 'cellChanged') def __init__(self, parent = None): super(Table, self).__init__(parent) self.MODEL = None self.setAlternatingRowColors(True) self.setSelectionMode(1) self.setSelectionBehavior(1) self.setGridStyle(1) def setData(self, model): self.setModel(None) self.setEnabled(False) self.repaint() self.MODEL = model self.setModel(model) self.setEnabled(True) self.repaint() def selectionChanged(self, selected, deselected): print 'i changed!!!' self.repaint() def model(self): return self.MODEL
Отредактировано keizer08 (Авг. 9, 2012 15:45:28)
Офлайн
Вопрос не актуален, решил проблему другим способом.
Офлайн
В этом коде проблема, скорее всего, в том, что не вызывается метод базового класса:
def selectionChanged(self, selected, deselected): print 'i changed!!!' super(Table, self).selectionChanged(selected, deselected)
Офлайн
reclosedev
В этом коде проблема, скорее всего, в том, что не вызывается метод базового класса:def selectionChanged(self, selected, deselected): print 'i changed!!!' super(Table, self).selectionChanged(selected, deselected)
Но правильнее использовать сигнал selectionChanged от QItemSelectionModel которую можно получить через QAbstractItemView::selectionModel
Ну и с моделью вы что-то странное делаете.
Офлайн