- Last comments
- AKApril 24, 2025, 12:04 p.m.UPD: Переписал логику воспроизведения через стороннюю библиотеку BASS. Там выбрать можно
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- Now discuss on the forum
- DTApril 14, 2025, 3:38 p.m.Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Если хочешь писать на qml учи javascript так как qml базируется на нем.
цикл for
цикл foreach
для qt постарше 5.12. (например 5.9)
используй var в место let и const
Сделал так, но не работает:
Говорит:
qrc:/main.qml:12 Unexpected token `for'
qrc:/main.qml:12 Unexpected token `let'
qrc:/main.qml:12 Expected token `,'
Покажите код main файла qml. Циклы в QML тоже нельзя пихать куда попало.
Вот код
Туда нельзя цикл вставлять. Циклы и любую подобную логику можно вставлять только в функции в QML, или в обработчики сигналов, что тоже самое, что функции.
То есть ваш код не заработает в принципе.
Так заработает
Спасибо, Заработало. Но почему так?
Потому, что QML имеет такие правила написания код. У него есть структура - это по сути расширенный JSON, документ. Поэтому он собственно и хорошо совместим с JavaScript, а также является интерпретируемым языком. Можно написать проект чисто на QML и запустить его в интерпретаторе, без сборки проекта.
Структура QML такова, что достаточно вольным образом можно объявлять объекты, свойства и функции.
Вот например корректный код на QML
Здесь объявлены объекты
Свойства
Функции
Всё это представляет древовидную структуру и укладывается в декларативный стиль программирования.
А ваш цикл - это уже из императивного программирования. И это может быть написано только внутри функций в qml файлах. То есть либо в обработчиках, либо в теле функций, который были объявлены, как например showI функция.
Ясно, спасибо за объяснение.