Advanced search
Evgenij LegotskojJuly 21, 2020, 2:31 a.m.

C++Method call on nullptr

UB, nullptr, cpp

Let's take a look at a small code example when a method is called on an object that is initialized with nullptr .

Evgenij LegotskojNov. 4, 2019, 5:15 a.m.

QMLQML - Tutorial 036. Working with Signals and Slots in QML

Qt, QML, Signal, Slot, cpp

This article is the most comprehensive description of signals and slots in QML compared to all previous articles on this site.

In this article, I will try to explain the following when working with Qt/QML + Qt/C++:

  • ways to declare signals and slots, also called methods in the C ++ class, which will be registered in the QML layer
  • ways to connect to signals of classes declared in C ++ as context
  • work with Q_PROPERTY, which also requires signals and slots
  • ways to connect signals and slots in QML
  • etc.
Evgenij LegotskojAug. 9, 2019, 6:09 p.m.

CMakeUsing variables declared in CMakeLists.txt inside C ++ files

cpp, C++, cmake

I propose to consider the option of using variables declared in the CMakeLists.txt file in C ++ code.

To begin with, what is it for? For example, you want to specify the version of the program and some other auxiliary information that is set during the assembly of the program, but at the same time you want to use this information in your C ++ code? Is it possible to do this? For example, to make it look like the image shows.

Evgenij LegotskojNov. 29, 2018, 2:10 p.m.

BoostBoost - static linking in CMake project under Windows

cpp, Boost, linking, C++, static

A small note about static linking Boost, so as not to forget.

Initial data:

  • OS Windows
  • MSVC 2017 64bit
  • Boost 1.68.0
  • CMake project

An example will be shown in the simplest version without special variable settings. Maximum default.

Evgenij LegotskojNov. 18, 2018, 9:52 a.m.

QtQt/C++ - Tutorial 086. Using QSequentialAnimationGroup and QPropertyAnimation to move a button

QSequentialAnimationGroup, cpp, Qt, C++, QPropertyAnimation

Let's write a small example of an application in which a button will be moved using property animations. To do this, we use the QSequentialAnimationGroup and QPropertyAnimation classes.

QSequentialAnimationGroup is a class that combines several animations into one group, which allows you to automatically start one animation when the previous QPropertyAnimation has completed.

Animation will be launched by pressing the button and this button will move in the window as shown in the image.

Evgenij LegotskojNov. 18, 2018, 5:57 a.m.

BoostBoost - Console program menu using boost::program_options

cpp, Boost, Menu, C++

And here is an article on the boost of my some accumulated materials. I offer you the option of writing a console program with support for the console menu, which is implemented using boost::program_options .

boost::program_options is responsible for processing the arguments passed to the program and sets all the necessary variables without the need to implement long logic from if else branches. This is already implemented inside boost::program_optons .

Suppose our program takes the following data as arguments

  • input file path
  • output file path
  • the size of the block being processed, no matter why, we will not do anything with it, just have such a parameter in the program.

Also, the program will have a help menu, which will be the console menu.

The figure below shows the use of this program.

Evgenij LegotskojOct. 23, 2018, 6:11 a.m.

C++C++ 17 - [[fallthrough]] attribute

cpp, C++17, fallthrough

Start at work to use a compiler that supports the standard C++17.

Actively we begin to use various features from this standard..

I was pleased with the [[fallthrough]] attribute for switch case constructions.

Evgenij LegotskojSept. 18, 2018, 5:44 a.m.

C++Example - "Builder" design pattern in C++

cpp, Builder, Строитель, шаблоны проектирования

Discussion. The forte of Builder is constructing a complex object step by step. An abstract base class declares the standard construction process, and concrete derived classes define the appropriate implementation for each step of the process. In this example, "distributed work packages" have been abstracted to be persistent and platform independent.

This means that the platform-specific mechanism for implementing files, queues, and concurrency pathways is defined in each platform's concrete derived class. A single "reader" object (i.e. parser) retrieves the archived specification for a DistrWorkPackage and proceeds to delegate each build step to the builder object that was registered by the client. Upon completion, the client retrieves the end result from the builder.

Evgenij LegotskojSept. 17, 2018, 5:37 a.m.

Design PatternsGenerative Design Patterns - Factory Method

шаблоны проектирования, abstract, cpp


  • Определяем интерфейс для создания объекта, но пусть подклассы решают, какой класс следует создавать. Фабричный метод позволяет создать экземпляр класса для подклассов.
  • Определение «виртуального» конструктора.
  • Оператор new является вредным.


Структура проекта должна стандартизировать архитектурную модель для целого ряда приложений, но позволяет отдельным приложениям определять свои собственные объекты и обеспечивать собственные правила их создания при сохранении единообразного интерфейса создания объектов.

Evgenij LegotskojSept. 13, 2018, 6:12 a.m.

C++Example - Abstract Factory in C ++

cpp, шаблоны проектирования, abstract, new

Обсуждение. «Подумайте о создании объектов как о фабрике, которая порождает эти самые объекты».

Здесь мы назначаем обязанности создания объектов фабричному объекту, а затем используем функции наследования и виртуальные члены для предоставления возможности «виртуального конструктора». Таким образом, существуют два аспекта. Клиент использует фабричный объект вместо оператора «new» для запроса создания экземпляров; и клиент имеет «жесткую привязку» к семейству или классу этой фабрики, и на протяжении всей работы приложения полагается на абстрактный базовый класс.


Let me recommend you a great European Fornex hosting.

Fornex has proven itself to be a stable host over the years.

For Django projects I recommend VPS hosting

Following the link you will receive a 5% discount on shared hosting services, dedicated servers, VPS and VPN

View Hosting

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:90points,
  • Rating points8
Last comments

Python: How to Test Internet Speed

There may be no animus franchise that opens with as dull-witted and satiating a ritual as Scream. As the shaping followers’s logo appears on wall, we rather enter upon hearing the ringing of a l…
  • Andrew
  • Jan. 12, 2022, 11:41 a.m.

Qt/C++ - Lesson 038. Switching between windows in the Qt

Здравствуйте, а как сделать чтобы второе и третье окно не сохраняли свои параметры а создавались заного? Только начинаю изучать прогграмирование и пишу протенькую игру сделал 2 окна, одно с меню…
  • juvf
  • Dec. 28, 2021, 11:56 p.m.

Deploying Qt and QML Applications on Linux and Windows

написал приложение, холоворд на qt виджетах, без qml. Из визарда QtCreator. Собрал кросскомпилятором. Нужно перенести на таргет. juvf@juvf-VirtualBox:~/qtWs/test/imx6/release$ ~/CQtDeploye…

Qt/C++ - Lesson 023. Moving QGraphicsItem on QGraphicsScene with mouse help

А есть возможность передавать координаты классу, что-бы он рисвал, допустим линию?

Django - Tutorial 036. How to add authentication through social networks. VKontakte

Добавь в строку: SOCIAL_AUTH_VK_OAUTH2_API_VERSION = '5.81'
Now discuss on the forum

Sorting the added QML elements in the ListModel

I am writing an alarm clock in QML, I am required to sort the alarms in ascending order (depending on the date or time (if there are several alarms on the same day). I've done the sorting …

Как получить ссылку на обьект присылающий сигнал через сигнал/слот?

Вот и ответ: Спасибо Александру за подсказку. void Core::onLogin(QString m_login) { Worker *m_worker = qobject_cast (sender()); hashLogin.insert(m_login, m_wor…

подтвердить значение в SpinBox

Мне необходимо подтвердить значение в SpinBox нажатием клавиши Enter и перевести фокус на другое поле. nnect(self.pressedKeys) def pressedKeys(sel…

Сортировка по дате и времени QSortFilterProxyModel QSqlRelationalTableModel

Добрый день. Наследуйте модель сортировки от QSortFilterProxyModel и переопределите метод QSortFilterProxyModel::lessThan таким образом, чтобы вы забирали через индексы дату и в…

Как создать класс вызывающий функции по входному числу 0-255?

Вы в любом случае упрётесь в маршрутизацию сообщения от этих цифр 0-255 до вызова конкретных методов и функций. А все эти пляски метасистемой Qt в данном случае лишь усложнение кода. Если …
© EVILEG 2015-2021
Recommend hosting TIMEWEB