Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt4. Не могу поймать сигнал от QtGui.QItemSelectionModel [RSS Feed]

#1 Май 7, 2010 07:51:36

aaleksander
От:
Зарегистрирован: 2009-12-22
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4. Не могу поймать сигнал от QtGui.QItemSelectionModel

Доброго времени суток, уважаемые.
Пишу небольшую программу с использованием firebird + SQLAlchemy и PyQt4.
Никак не могу понять, какой сигнал нужно прописать в коннект, чтобы отловить перемещение по таблице.
Пробую делать так:

class WellTable(QtGui.QTableView):
def __init__(self, db):
QtGui.QTableView.__init__(self)
self.model = db.models.WellAbstract(self)
self.setModel(self.model)
self.verticalHeader().hide()
self.setAlternatingRowColors(True)
hh = self.horizontalHeader()
hh.setStretchLastSection(True)
self.resizeColumnsToContents()
self.setSelectionBehavior( QtGui.QAbstractItemView.SelectRows )

self.selectionModel1 = QtGui.QItemSelectionModel(self.model, self)
self.connect(self.selectionModel1, QtCore.SIGNAL('selectionChanged(const QItemSelection &, const QItemSelection &)'), self.test)

def test(self, a, b):
print 'test'
Перемещаюсь по таблице, а в консоли ничего не печатается.
Что я делаю неправильно?

И еще вопрос: где можно посмотреть питоновские исходники PyQt4. А то у меня только sip-файлы.

Спасибо.



Офлайн

#2 Май 7, 2010 10:01:06

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4. Не могу поймать сигнал от QtGui.QItemSelectionModel

aaleksander
self.connect(self.selectionModel1, QtCore.SIGNAL('selectionChanged(const QItemSelection &, const QItemSelection &)'), self.test)
Это старый стиль нынче модно писать так:
self.selectionModel1.selectionChanged.connect(self.test)
И самое важное: QTableView и QItemSelectionModel надо связывать через QTableView.setSelectionModel (self, QItemSelectionModel selectionModel). Тады все должно заработать.

А что вы понимаете под
aaleksander
питоновские исходники PyQt4
?
PyQt4 - это привязка сишных библиотек Qt к питону. Какие питоновские исходники тут должны быть?



Офлайн

#3 Май 7, 2010 10:13:54

aaleksander
От:
Зарегистрирован: 2009-12-22
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4. Не могу поймать сигнал от QtGui.QItemSelectionModel

Спасибо, заработало.

dartNNN
PyQt4 - это привязка сишных библиотек Qt к питону. Какие питоновские исходники тут должны быть?
Да вот чтоб хотя бы посмотреть сигнатуру сигнала. Или методы посмотреть. У меня NetBeans как-то криво классы показывает. О наличии метода selectionChanged можно только догадываться. А так, глянул в класс и все понятно.



Офлайн

#4 Май 7, 2010 18:19:49

dartNNN
От:
Зарегистрирован: 2009-12-08
Сообщения: 199
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4. Не могу поймать сигнал от QtGui.QItemSelectionModel

aaleksander
О наличии метода selectionChanged можно только догадываться
Ну в этом случае можно глянуть доки ни родительский класс:)



Офлайн

  • Начало
  • » GUI
  • » PyQt4. Не могу поймать сигнал от QtGui.QItemSelectionModel[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version