Sleep в Qt

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

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

Использование QwtPlotSpectrogram

Раньше мы научились использовать компонент QwtPlotSpectrocurve (здесь). У qwt предусмотрен альтернативный компонент, более удобный для визуализации аналитических функций. В этой заметке мы научимся использовать QwtPlotSpectrogram.

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

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

Использование QwtPlotSpectroCurve

Используя QwtPlotSpectroCurve (сначала ознакомтесь с QwtPlotCurve здесь) вы можете отображать информацию, требующую представление в трех измерениях; строить псевдо 3D - графики на двумерной плоскости. 3 измерение будет передано градацией цвета - такие графики называют спектрограммами. В отличии от компонента QwtPlotSpectrogram, вы управляете каждой точки кривой, а не интервалами. Компонент QwtPlotSpectroCurve менее функционален, но более логичен для потроение графиков.

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

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

Включение сетки qwtplotgrid в qwt (qwtplot)

Для более удобного восприятия информации, для чтения графиков, можно включить сетку. Делается это с помощью класса QwtPlotGrid. Все как обычно: объект нужно создать, настроить и прикрепить до qwtplot.

Построение гистограмм (QT)

Построение гистограмм в QT осуществляется с помощью Qwt. Логика построения мало отличается от построения графиков.(Для начала советую почитать). Рассмотрим простой пример построения гистрограммы с помощью QwtPlotHistogram.

Построение графиков (QT)

К сожалению, в QT нет удобного компонента TChart (от Borland, для Delphi/Builder). Но есть неплохая альтернатива - Qwt. Из добавлением графиков и гистограмм никаких проблем не должно возникать, а вот с bubbles иногда (в зависимости от задачи) могут возникнуть трудности. Но об этом не сейчас. Начнем с обычных графиков.

О рандоме (случайных числах)

Очень часто при моделировании физических процессов нужно реализовать генератор случайных чисел (или просто «рандом»). Начнём с основ. На самом деле, идеального, «правильного» рандома не существует. Частично, эту задачу может исполнить девушка, ибо женская логика — тоже рандом генератор (причём довольно неплохой). Но нас интересует такая реализация в QT.