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

Qt

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

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

11.01.2017, 04:40. Просмотров 158. Ответов 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
Собственно строю график функции с помощью QGraphicsScene и необходимо отображать координаты под мышкой, проблема собственно в том что я не...

Qt рисование и столкновение объектов - C++ Qt
Здравствуйте, у меня вопрос, у меня имеется задача. Нарисовать шарик, отскакивающих от своих границ. Какие функции посоветуете использовать?

Рисование точек по координатам - C++ Qt
Доброго времени суток. Хочу сделать некий виджет, как локатор....т.е начерчены окружности, посылаешь координаты и рисуются точки(их...

Рисование множества точек при получении пакета с сети - C++ Qt
Здравствуйте! Такая проблема - приходят данные по сети с широковещательного сообщения. При получении пакета, нужно нарисовать точку, причем...

Нарисовать точки на графике в Qt creator - C++ Qt
Нужна написать программу для проекта &quot;Шаг в будущее&quot;. Но в программировании такого рода я не оч и не получается написать программу...

Структура в качестве ключа QMap - C++ Qt
Вопрос такой, можно ли в качестве ключа в QMap поместить струткуру? К примеру: struct Dual { int a,b; Dual(int c, int d){...

Использование функции в качестве параметра - C++ Qt
Добрый день! У меня есть класс, каждый раз при создании которого, мы соединяем его со слотом. Для удобства хочу сделать конструктор этого...

С++ рисование - C++ Qt
Добрый вечер, сижу над кодом уже несколько часов, не могу понять в чем дело, но никак он не нарисует мне этот круг. Помогите. #include...

Рисование в Qt - C++ Qt
Как сделать, чтобы при нажатии на кнопку, создавался новый виджет и уже в нём происходило рисование?

Qt рисование - C++ Qt
Описал вкратце как нарисовать на форме таблицу из линий. В архиве .doc файл сописанием и проект. Если найдутся ошибки - с удовольствием...

Как использовать функцию в качестве слота в QT 5.5 ? - C++ Qt
Добрый день. Не так давно начал изучать QT, как правило, сталкиваясь с проблемами стараюсь разбираться самостоятельно, методом проб,...

Подключение готового приложения в качестве виджета - C++ Qt
Добрый день. Я написал небольшую програмку prog1.(состоит из файлов prog1.cpp,main.cpp,prog1.h) Сейчас разрабатываю вторую программу...


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

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

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