Рубрика «C++»

Паттерн шаблонный метод (template method)

рис. 2 шаблон проектирования template method

Template method представляет собой поведенческий шаблон проектирования. Вспоминать про него стоит всякий раз, когда в вашем проекте появляется дублирующийся код (именно с таким, плохим кодом он иногда может справиться). Суть шаблонного метода заключается в том, что алгоритм поведения объектов выносится в базовый класс, а реализация отдельных шагов падает на плечи классов-наследников. Рассмотрим шаблон проектирования «template …

Получение данных с сайта. Шаблон Producer/Consumer [Qt, C++]

producer-consumer-pattern

В последнее время часто встречал вопросы о получении данных с сайта на С++, поэтому решил написать статью, посвященную этой теме. В качестве примера статьи рассмотрена задача получения бесплатных проектов с одного фриланс-сайта [1]. На этом сайте, есть страница со списком проектов, на которой есть их (проектов) частичное описание и ссылка на страницу проекта, но наша …

Использование БД SQL. Шаблон проектирования «Фасад» (Facade) [C++, Qt]

рис. 1 использование паттерна Facade

Статья состоит из трёх частей, в которых: Библиотека Qt и базы данных — описаны средства библиотеки Qt, предназначенные для работы с базами данных; Шаблон проектирования Facade («Фасад») — рассмотрен паттерн проектирования «Facade». Описано каким образом его можно использовать для определения интерфейса базы данных; Пример использования баз данных на C++, Qt — приведён и описан пример …

Собственные виджеты в Qt Designer [Qt, C++]

рис. 1 пример окна, созданного в Qt Designer

В статье я расскажу как быстро и легко накидать интерфейс в Qt Designer, а также, как использовать при этом свои собственные виджеты. Содержание: Qt.Кастомный виджет счетчика Qt Designer Использование формы, созданной в Qt Designer — как создать в Qt Designer форму, а затем использовать ее в программе; Снимок окна программы, которая получилась при написании статьи …

Игра Сапер. Паттерн Mediator. Использование doxygen

рис. 1 окно игры "Сапер"

Недавно помогал какому-то студенту писать лабораторную — игру «Сапер», и получилась вполне вменяемая штука, которую решил описать на блоге. В статье рассмотрены: Паттерн Mediator (посредник) Цифровой таймер с QLCSNumber (в нашей игре будут отображаться часики); Генерация документации с помощью doxygen В результате получится игрушка, снимок окна которой показан на рис. 1.

Создание собственных виджетов Qt. Сигналы, слоты и события.

castom_widget_in_Qt

Когда я начинал изучать библиотеку Qt, весьма полезным показался пример виджета, выводящего бегущую строку. Подобный пример описан в настоящей статье, на нем мы разберем: механизм сигналов и слотов Qt; организацию объектов Qt в древовидную структуру, обеспечивающую автоматическое освобождение памяти при разрушении родительского объекта; обработку событий в Qt. В результате у нас получится создать свой собственный …