Учебники по cозданию приложений для KDE: Учебники по созданию приложений для KDE в Интегрированной Среде Разработки KDevelop | ||
---|---|---|
. | 3. Сборка примеров Qt | След. |
Теперь, в уроке 5 нашей целью будет расширение возможностей класса. Также вы узнаете о виртуальных функциях. Здесь переписывается метод resizeEvent(). Главное, что необходимо запомнить здесь (помимо расширения возможностей класса), это то, что Qt работает с пользовательскими событиями посредством виртуальных функций, которые принимают событие в качестве параметра. Поэтому вы должны ознакомиться со следующими классами библиотеки Qt:
QEvent
QChildEvent
QCloseEvent
QFocusEvent
QKeyEvent
QMouseEvent
QMoveEvent
QPaintEvent
QResizeEvent
QTimerEvent
Когда вы будете разрабатывать собственные визуальные элементы, особенно окна вывода приложений, вам придется переписывать методы обработки событий, наследуемые классами визуальных элементов по-умолчанию, заменяя обработку тех событий, которые вам нужно перехватить. Это может быть, например,
virtual void mousePressEvent ( QMouseEvent * ) для обработки сигналов от мышки для вывода контекстного меню. При создании собственного обработчика, вам необходимо будет вставить формальный параметр в описание функции, большинство разработчиков используют event или e в качестве имени параметра.
Теперь вы сможете обрабатывать параметры события. Для QMouseEvent вам надо будет выяснить какая из кнопок, правая, средняя или левая, породила событие.