0 / 0 / 0
Регистрация: 19.11.2017
Сообщений: 44
1

Цикл в QML

18.05.2018, 17:05. Показов 3300. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, столкнулся с проблемой нужно реализовать цикл для построения точек в qml, Чтобы картинка адекватная была нужно, чтобы ширина и долгота увеличивались на один, а высота задавалась рандомно.
Вот я попробовал реализовать цикл но не получилось, что поправить?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtDataVisualization 1.2
 
ApplicationWindow {
    visible: true
    width: 800
    height: 600
    title: qsTr("Surface")
    Surface3D {
            width: parent.width
            height: parent.height
            Surface3DSeries {
                itemLabelFormat: "Pop density at (@xLabel N, @zLabel E): @yLabel"
                ItemModelSurfaceDataProxy {
                    itemModel: dataModel
                    // Mapping model roles to surface series rows, columns, and values.
                    rowRole: "longitude"
                    columnRole: "latitude"
                    yPosRole: "pop_density"
                }
            }
           }
            ListModel {
                   id: dataModel
                   var i = 20;
                   var t = 20;
                   var q;
                   for (; i < 100; i++) {
                       q = 1 + (int) (Math.random() * 6);
                       ListElement{ longitude: "i"; latitude: "t"; pop_density: "q"; }
                       t++;
                   }
//                   ListElement{ longitude: "20"; latitude: "10"; pop_density: "5"; }
//                   ListElement{ longitude: "21"; latitude: "10"; pop_density: "3.00"; }
//                   ListElement{ longitude: "22"; latitude: "10"; pop_density: "1.24"; }
//                   ListElement{ longitude: "23"; latitude: "10"; pop_density: "2.53"; }
//                   ListElement{ longitude: "24"; latitude: "10"; pop_density: "3.87"; }
 
//                   ListElement{ longitude: "20"; latitude: "10.5"; pop_density: "3.75"; }
//                   ListElement{ longitude: "21"; latitude: "10.5"; pop_density: "2.00"; }
//                   ListElement{ longitude: "22"; latitude: "10.5"; pop_density: "0.24"; }
//                   ListElement{ longitude: "23"; latitude: "10.5"; pop_density: "5.53"; }
//                   ListElement{ longitude: "24"; latitude: "10.5"; pop_density: "4.53"; }
 
//                   ListElement{ longitude: "20"; latitude: "11"; pop_density: "2.55"; }
//                   ListElement{ longitude: "21"; latitude: "11"; pop_density: "2.03"; }
//                   ListElement{ longitude: "22"; latitude: "11"; pop_density: "3.46"; }
//                   ListElement{ longitude: "23"; latitude: "11"; pop_density: "5.12"; }
//                   ListElement{ longitude: "24"; latitude: "11"; pop_density: "4.65"; }
 
//                   ListElement{ longitude: "20"; latitude: "11.5"; pop_density: "3.55"; }
//                   ListElement{ longitude: "21"; latitude: "11.5"; pop_density: "4.03"; }
//                   ListElement{ longitude: "22"; latitude: "11.5"; pop_density: "3.10"; }
//                   ListElement{ longitude: "23"; latitude: "11.5"; pop_density: "4.12"; }
//                   ListElement{ longitude: "24"; latitude: "11.5"; pop_density: "4.65"; }
 
//                   ListElement{ longitude: "20"; latitude: "12"; pop_density: "1.37"; }
//                   ListElement{ longitude: "21"; latitude: "12"; pop_density: "2.98"; }
//                   ListElement{ longitude: "22"; latitude: "12"; pop_density: "3.33"; }
//                   ListElement{ longitude: "23"; latitude: "12"; pop_density: "3.23"; }
//                   ListElement{ longitude: "24"; latitude: "12"; pop_density: "3.65"; }
 
//                   ListElement{ longitude: "20"; latitude: "12.5"; pop_density: "3.23"; }
//                   ListElement{ longitude: "21"; latitude: "12.5"; pop_density: "3.21"; }
//                   ListElement{ longitude: "22"; latitude: "12.5"; pop_density: "2.55"; }
//                   ListElement{ longitude: "23"; latitude: "12.5"; pop_density: "4.20"; }
//                   ListElement{ longitude: "24"; latitude: "12.5"; pop_density: "3.87"; }
 
//                   ListElement{ longitude: "20"; latitude: "13"; pop_density: "4.34"; }
//                   ListElement{ longitude: "21"; latitude: "13"; pop_density: "3.54"; }
//                   ListElement{ longitude: "22"; latitude: "13"; pop_density: "1.65"; }
//                   ListElement{ longitude: "23"; latitude: "13"; pop_density: "2.67"; }
//                   ListElement{ longitude: "24"; latitude: "13"; pop_density: "2.89"; }
 
//                   ListElement{ longitude: "20"; latitude: "13.5"; pop_density: "5.44"; }
//                   ListElement{ longitude: "21"; latitude: "13.5"; pop_density: "3.00"; }
//                   ListElement{ longitude: "22"; latitude: "13.5"; pop_density: "2.65"; }
//                   ListElement{ longitude: "23"; latitude: "13.5"; pop_density: "1.67"; }
//                   ListElement{ longitude: "24"; latitude: "13.5"; pop_density: "2.60"; }
       }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.05.2018, 17:05
Ответы с готовыми решениями:

Подсветка QML элементов QML-ного плагина в QtCreator в случае нахождения QML файлов плагина в ресурсах!
Здравствуйте! Если сделать плагин для QML и подключить его в основном проекте ну как - то так:...

QMl/QT при нажатии на кнопку должен окрыться другой qml файл
Додал anchors Вот что я сделал: import QtQuick 2.5 import QtQuick.Controls 1.4 ...

Как подключить QML-файл в C++ по моде, а также получить ссылки на QML-элементы в C++
Читал в интернете, как подключать QML-файлы. Кто-то использует QQmlView, кто-то...

qml - что из себя представляет qml
Решил написать игру на Qt,выбор остановился на танчиках.Посмотрел примеры и понял что все игры ,что...

2
Заблокирован
18.05.2018, 18:40 2
А что не получилось-то? Ты хочешь в цикле добавлять элементы в модель при старте? Ну так это делается не так, у тебя вообще бред написан... Наверное тебе нужно что-то вроде:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ListModel
    {
        id: dataModel
 
        Component.onCompleted:
        {
            var t = 20;
            for(var i = 20; i < 100; i++)
            {
                var q = 1 + (Math.random() * 6);
                dataModel.append({"longitude":i, "latitude":t, "pop_density":q});
                t++;
            }
        }
    }
1
0 / 0 / 0
Регистрация: 19.11.2017
Сообщений: 44
18.05.2018, 20:53  [ТС] 3
Спасибо цикл заработал, просто с qml мало опыта работы, поиграл с циклом но что-то не получается подобрать чтобы что-то дельное получалось(1 картинка), вот должно быть что то похожее на вторую картинку.
Миниатюры
Цикл в QML   Цикл в QML  
0
18.05.2018, 20:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2018, 20:53
Помогаю со студенческими работами здесь

QML вызов другого qml
Всем привет. Название темы немного неверное. Вообщем проблема такая. Делаю игру на qml, и есть...

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать...

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на...

Как реализовать бесконечный цикл While, но чтобы этот цикл не грузил процессор?
Допустим есть цикл: while (1) { ... } Как сделать так, чтобы бесконечный цикл не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru