Sleep в Qt

Как-то очень сильно отвлекся от Qt. А тут на днях пришлось вернуться =) Долго вспоминал, как раньше реализовал задержку, или sleep в Qt (да, да, да, это плохо, и т.д., но иногда уж очень надо, особенно если нужно сдать лабу, чтобы отстали.)

Пример тривиальной реализации:

Конфигурация Qt проекта

Приложение, написаное на Qt кросплатформенное. (За исключением хитрых библиотек сторонних разработчиков, но это в порядке исключения). Но для запуска приложения на разных платформах зачастую все таки придется правильно сконфигурировать Qt проект.

Использование таймера в Qt

Для использования таймера в Qt предназначен класс QTimer. Сначала надо задать время, по истечении которого он будет срабатывать. Так же нужно определить слот, который обработает сигнал, излученный в следствие переполнения таймера. Таким образом, обязательным условием использования QTimer есть возможность использования сигналов и слотов, значит, класс, в котором используется таймер должен быть наследником QObject. Для примера создадим простенькие часы.

Вращение сцены в OpenGL (QT)

Итак, мы уже умеем инициализировать OpenGL-окно в QT. (/podklyuchenie-opengl-v-qt/) Теперь научимся вращать сцену. Сокращенно говоря, для поворота сцены в OpenGL  необходимо вызвать функцию void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z). Параметр angle задает угол поворота от текущего положения; x, y, z описывают вектор поворота, проще говоря - задают направление поворота. Можно так же изменить положение начала вектора.

Подключение OpenGL в QT

Рассмотрим пример подключения графической библиотеки OpenGL к QT проекту. Постараюсь выложить как можно доступнее, только самое необходимое для быстрого начала. Здесь мы рассмотрим только пример подключения и вывод простейшей сцены. В следующих заметках добавим поворот камеры и т. д.