Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt, Событие при наведении мыши на CheckBox [RSS Feed]

#1 Фев. 8, 2012 17:03:48

Hayate
От:
Зарегистрирован: 2010-10-15
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt, Событие при наведении мыши на CheckBox

Как можно реализовать вызов функции при наведении мыши на чекбокс? Сигналов таких не нашёл…



Офлайн

#2 Фев. 8, 2012 18:16:15

Hayate
От:
Зарегистрирован: 2010-10-15
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt, Событие при наведении мыши на CheckBox

Не совсем пока получается.
Допустим, есть сгенерированный QtDesigner-ом + pyuic4-ом класс.
В классе этом определяем функцию

def mouseMoveEvent(self, event):
print(event.pos())
И одному из чекбоксов определяем свойство setMouseTracking(True).
И не работает.
А если setMouseTracking(True) применить к классу, то тогда реакция есть, но уже на движения мыши над всем окном.
Вот как бы заставить реагировать его на каждый чекбокс в отдельности?



Офлайн

#3 Фев. 8, 2012 19:30:37

mks
От:
Зарегистрирован: 2009-08-07
Сообщения: 80
Репутация: +  5  -
Профиль   Отправить e-mail  

PyQt, Событие при наведении мыши на CheckBox

похоже вам нужен enterEvent



Офлайн

#4 Фев. 20, 2012 15:05:44

Hayate
От:
Зарегистрирован: 2010-10-15
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt, Событие при наведении мыши на CheckBox

Пока что сделано так:
Определён такой класс:

class HoverCheckBox(QtGui.QCheckBox):
def __init__(self, parent=None):
QtGui.QCheckBox.__init__(self, parent)
self.setMouseTracking(True)

def enterEvent(self, event):
print('enterEvent!')

def leaveEvent(self, event):
print('leaveEvent!')
Который используется вместо обычного чекбокса. При наведении мыши методы нормально отрабатывают.
И требуется при наведении курсора на чекбокс присвоить значение элементу QTextBrowser находящемуся в экземпляре другого класса. Напрямую у меня к нему обратиться не получается, как лучше всего это реализовать, с помощью сигналов? И как правильно сгенерировать сигнал? Мои варианты сигналов почему-то не вызывали назначенный в качестве обработчика метод. :(



Офлайн

  • Начало
  • » GUI
  • » PyQt, Событие при наведении мыши на CheckBox[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version