Класс QWheelEvent

   
На этом шаге рассмотрим класс QWheelEvent.

   
В последнее время часто используются мыши, оснащенные колесиком, следовательно, нужно реализовывать метод для обработки события прокрутки колеса — QWheelEvent, который унаследован от QInputEvent (см. рис. 1 шаг 111).

   
Объект класса QWheelEvent содержит информацию о событии, вызванном колесиком мыши. Объект события передается в метод wheelEvent() и содержит информацию об угле и направлении, в которое было повернуто колесико, а также о позиции указателя мыши, статусе кнопок мыши и некоторых клавиш клавиатуры. Наряду с методами buttons(), pos() и globalPos(), которые полностью идентичны методам класса события QMouseEvent.

   
В классе QWheelEvent имеется метод delta(), с помощью которого можно узнать угол поворота колесика мыши. Положительное значение говорит о том, что колесико было повернуто от себя, а отрицательное значение — на себя.

   
Методы enterEvent() и leaveEvent() вызываются в том случае, когда указатель мыши попадает или покидает область виджета. Их можно переопределить, например, в том случае, если требуется изменить внешний вид виджета. Метод enterEvent() получает объект события типа QEvent и вызывается каждый раз, когда указатель мыши входит в область виджета. Метод leaveEvent() получает объект события типа QEvent и вызывается, когда указатель мыши выходит за пределы области виджета.

   
Рассмотрим простой пример, демонстрирующий использование методов enterEvent() и leaveEvent(). Картинки меняются местами, в зависимости от того, находится или нет курсор мыши в области виджета (рис.1).


Рис.1. Пример, демонстрирующий применение методов enterEvent() и leaveEvent()

   
Приведем код заголовочного файла:

class Pict : public QWidget {
Q_OBJECT
public:

    Pict(QWidget* pwgt = 0);

protected:
    //переопределяем методы
    void enterEvent (QEvent*);
    void leaveEvent (QEvent*);
};

   
Файлы приложения можно взять Предыдущий шаг
Содержание
Следующий шаг



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий