Я давно занимаюсь разработкой десктопных приложений с использованием Qt и уже наработал некоторые подходы по работе с логами. В данной статье я бы хотел поделиться с сообществом этими подходами, они могут пригодиться в разных ситуациях.
В данной статье я бы хотел рассказать об одном из вариантов организации сетевого взаимодействия в программах, написанных на Qt, используя библиотеку QexRemint. Эта библиотека позволяет сериализовать/десериализовать сигналы и слоты. Дописав к ней сетевую часть, можно получить отличный и удобный механизм для удаленного вызова процедур (Remote Procedure Call).
Смарт-поинтеры является очень важным механизмом управления временем жизни объектов. В Qt присутствует модель управления временем жизни объектов, когда объекты наследуются от базового класса QObject и задается “родство” — parent/child. При удалении объекта, он удаляет всех своих child. Эта модель управления временем жизни объектов очень хорошо сочетается с технологией взаимодействия между объектами “Signals & Slots” и при использовании смарт-поинтеров могут возникнуть тяжело отлаживаемые баги.