Форум программистов, компьютерный форум CyberForum.ru

Qt

Войти
Регистрация
Восстановить пароль
 
LeviSkay
0 / 0 / 1
Регистрация: 10.01.2017
Сообщений: 5
#1

Рисование точек на графике в качестве неких объектов - C++ Qt

11.01.2017, 04:40. Просмотров 130. Ответов 1
Метки нет (Все метки)

Снова доброй ночи, уважаемый форум. Задача стоит следующая: существует массив типа complex<double>[1024] хранящий в себе координаты точек на комплексной плоскости. Некий цикл бегает по этому массиву, считывает старое значения complex<double>[i], стирает точку с данными координатами, заносит в i-тый элемент массива новую точку, рисует ее.
На данный момент код построен с помощью QGraphicView и QScene
C++ (Qt)
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
std::complex<double> array[1024];//глобальный массив
/////////
QGraphicsScene *scene = new QGraphicsScene(ui->graphic);
    scene->setSceneRect(-250,-250,500,500);
    scene->addLine(-250,0,250,0,QPen(Qt::green));//x ось
    scene->addLine(0,-200,0,200,QPen(Qt::green));//y ось
    ui->graphic->setScene(scene);
 
    //run = 1;
    QPen pen(Qt::red,3);
    QPen clear(Qt::white,3);
 
 
    for (int i = 0; i < 1024; i++)
    {
 
        scene->addLine(array[i].real(), array[i].imag(), array[i].real(), array[i].imag(), clear);
        //очистка
        array[i] = input.put_sample();
        //новые координаты
        array[i].imag() *= 150;
        array[i].real() *= 150;
        //калибровка для наглядного отображения
        scene->addLine(array[i].real(),array[i].imag(),array[i].real(),array[i].imag(),pen);
        //отрисовка новых координат
        if (i == 1023);
            i = -1;
        //организация бесконечного цикла
    }
Хотелось бы, чтобы точки были в качестве некоторых объектов, которые можно было бы добавлять на какой-либо график и так же удалять. Ибо такое точечное рисование приводит как минимум к стиранию части соседних, впритык расположенных точек. Что можете посоветовать? Будет ли такая реализация эффективнее? Есть ли другие варианты по организации бесконечного цикла? Конечно же этот цикл не будет работать вечно, над всем этим будет некая управляющая конструкция, которая отключит дальнейшее отображение кнопкой Стоп.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2017, 04:40     Рисование точек на графике в качестве неких объектов
Посмотрите здесь:

C++ Qt Qt рисование
непонятки с QVector в качестве возвращаемого значения C++ Qt
Рисование в Qt C++ Qt
C++ Qt Подключение готового приложения в качестве виджета
Отображение значения точек на графике C++ Qt
Рисование множества точек при получении пакета с сети C++ Qt
C++ Qt Структура в качестве ключа QMap
C++ Qt Использование функции в качестве параметра
C++ Qt Qt рисование и столкновение объектов
С++ рисование C++ Qt
C++ Qt Рисование точек по координатам
C++ Qt Нарисовать точки на графике в Qt creator

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Горбаг
 Аватар для Горбаг
82 / 82 / 27
Регистрация: 25.09.2014
Сообщений: 446
Завершенные тесты: 1
17.01.2017, 13:37     Рисование точек на графике в качестве неких объектов #2
Точки делать через QGraphicsEllipseItem, не? И вместо затирания/нового рисования просто смещать координату объекта. Сцена за тебя сделает все остальное.
Еще можешь посмотреть в сторону QCustomPlot. Ибо я не знаю твоей первоначальной цели. Но мало ли.
Yandex
Объявления
17.01.2017, 13:37     Рисование точек на графике в качестве неких объектов
Ответ Создать тему
Опции темы

Текущее время: 11:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru