Добрый день, подскажите пожалуйста. Имею приложение при нажатии на кнопку происходит запись в QVariantMap. Соответственно делаю коннект сигнала и слота, в слоте изменяется значение и записывается в мапу. Сама мапа внутри себя содержит еще QVariantMap, либо другие типы данных. Количество таких уровней вложенности доходит до 3-4. Т.е получается что-то типа JSON. Результат отправляется по сокету с определенным интервалом.
Проблемы две:
1) Почему-то дважды срабатывает сигнал и слот при нажатии на кнопку. Коннект происходит у меня в конструкторе виджета, с помощью лямбд так как использую QButtonGroups. Дважды я НЕ соединяю один и тот же слот-сигнал, а только здесь в одном месте.
2) При попытке изменения значения внутри 3-4 уровня вложенности это происходит слишком долго, но при этом само приложение не виснет. Сначала думал долго отрабатывает слот и попробовал использовать вывод в дебаг в слотах где идет запись в мапу сообщения о начале выполнения слота и в конце, они выводятся моментально. Выглядит будто бы какая-то задержка записи в мапу. Но есть одно но, стоит изменить интервал отправки данных по сокету например с 1000мс до 10мс, то изменение значений происходит практически мгновенно, а например при значении 1000мс значение изменяется через 3-4 секунды(когда как). Интервал отправления данных я выставляю через QTimer и вызов метода отправки данных в сокет.