Лабораторная работа 4.
Рисование двумерных фигур с использованием кроссплатформенной библиотеки QT.
Ведение.
Библиотека QT предоставляет удобные классы как для создания интерфейса, так и для работы с файлами, пригодными для использования на разных операционных системах: Windows, Linux, Android и др.
В состав средств разработчика (SDK) входит инструмент для создания форм и отладки кода
QT-creator.
Эта лабораторная работа посвящена созданию экранной формы и осуществлению рисования на элементах внутри нее.
Методика лабораторной работы.
Для более полного понимания работы с QT Creator создадим новый проект и добьемся рисования внутри элемента, унаследованного от класса QWidget.
Средства QT не позволяют осуществлять рисование в иных случаях, отличных события рисования
void paintEvent (QPaintEvent * pe)
{
}
которое вызывается у класса QWidget или классов, унаследованных от него. Само событие paintEvent в рамках жизненного цикла приложения происходит например при случаях, когда какое-то другое приложение перекрывало область окна, с интересующим нас элементом, и затем пользователь закрыл вышележащее перекрывающее окно, наше приложение оказалось видимым, и возникла необходимость перерисовать бывшими закрытыми области.
|
|
Для того, чтобы иметь возможность переопределить функцию рисования paintEvent мы должны в обязательном порядке произвести наследование, а также указать редактору экранных форм, что мы используем унаследованный класс (он будет называться MyDrawObject), который внутри редактора экранных форм может продолжать вести себя как Qwidget.
Рассмотрим все действия по порядку: