Рабочая среда К

3.4. Расширение класса Widget

Теперь, в уроке 5 нашей целью будет расширение возможностей класса. Также вы узнаете о виртуальных функциях. Здесь переписывается метод resizeEvent(). Главное, что необходимо запомнить здесь (помимо расширения возможностей класса), это то, что Qt работает с пользовательскими событиями посредством виртуальных функций, которые принимают событие в качестве параметра. Поэтому вы должны ознакомиться со следующими классами библиотеки Qt:

Когда вы будете разрабатывать собственные визуальные элементы, особенно окна вывода приложений, вам придется переписывать методы обработки событий, наследуемые классами визуальных элементов по-умолчанию, заменяя обработку тех событий, которые вам нужно перехватить. Это может быть, например,

virtual void mousePressEvent ( QMouseEvent * ) для обработки сигналов от мышки для вывода контекстного меню. При создании собственного обработчика, вам необходимо будет вставить формальный параметр в описание функции, большинство разработчиков используют event или e в качестве имени параметра.

Теперь вы сможете обрабатывать параметры события. Для QMouseEvent вам надо будет выяснить какая из кнопок, правая, средняя или левая, породила событие.