Причина, по которой вы видите десятичные дроби, заключается в том, что для вашего слайдера snapMode установлено значение snapOnRelease. Это означает, что значение ползунка не будет учитывать ваш размер шага, пока пользователь не отпустит ползунок. Переход на snapAlways исправит это, но приведет к тому, что ползунок будет казаться "неустойчивым" во время использования. Если вы все еще хотите использовать snapOnRelease; Я вижу два варианта продвижения вперед.
Вместо использования onMoved для создания sliderMoved вы можете использовать.
onPressedChanged: {
if (!pressed) {
root.sliderMoved()
}
}
Таким образом, сигнал будет выдан только после того, как ползунок будет отпущен / зафиксирован, и вы записать целое числовое значение, выбранное пользователем.
Если необходимо регистрировать каждое изменение, которое вносит пользователь, в том виде, в каком оно записано вами в данный момент, округлите в большую или меньшую сторону в вашем операторе журнала, чтобы предотвратить использование десятичных знаков в журналах.