Russian Qt Forum
Сентябрь 30, 2024, 18:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Система координат, QGraphicsView  (Прочитано 13606 раз)
ratita
Гость
« : Январь 12, 2011, 20:35 »

Ребят, добрый вечер!
Подскажите пожалуйста, как мне добавить к сцене систему координат (отрисовать) для графика? Двухмерную, то есть оси (x, y) и сетку.
Можно по тупому отрисовать 2 оси и линии для сетки, или как-нибудь с помощью QRect. Но это, я догадываюсь, как чесать левой ногой правое ухо  В замешательстве
Записан
Sancho_s_rancho
Гость
« Ответ #1 : Январь 12, 2011, 20:50 »

Я бы тоже тупо рисовал линии. Однако, на мой взгляд ( у меня есть некоторый опыт отрисовки спектров с девайсов Painter-ом и  работы с QGraphicsView для пользовательского интерфейса), QGraphicsView для графиков не предназначен и не подходит. QPainter-ом на виджете будет проще и накладных расходов меньше.
Записан
alexman
Гость
« Ответ #2 : Январь 12, 2011, 21:09 »

QGraphicsView для графиков не предназначен и не подходит.
Непонимающий
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #3 : Январь 12, 2011, 21:12 »

QGraphicsView для графиков не предназначен и не подходит.
Почему? Вопрос без тени иронии. Поскольку реализовывал отрисовку спектра и целой кучи примочек поверх графика (шкалы, полупрозрачные слайдеры, прокрутки и т.п.) на базе набора наследников от QWidget с реализацией собственного Layout. Отрисовывал всё с помощью painter. Получилось достаточно громоздко в плане объема кода и с определенными проблемами в плане производительности, впрочем в конце концов побежденными. Следующую инкарнацию собирался рефакторить в сторону именно QGraphicsView, заменив свои QObject на QGraphicsItem. Чем это может грозить? Пока на первый поверхностный взгляд код мог бы получиться компактнее. В чём будут проблемы?
Записан
ratita
Гость
« Ответ #4 : Январь 12, 2011, 21:36 »

Я бы тоже тупо рисовал линии. Однако, на мой взгляд ( у меня есть некоторый опыт отрисовки спектров с девайсов Painter-ом и  работы с QGraphicsView для пользовательского интерфейса), QGraphicsView для графиков не предназначен и не подходит. QPainter-ом на виджете будет проще и накладных расходов меньше.
Я рисую грaфики в QGraphicsView, покa мeня всe устрaивaeт. Возможно, ключeвоe слово 'покa' )
Знaчит, рисовaть по тупому? И цифры у дeлeний тожe вручную выстaвлять? Хмм..
Записан
Sancho_s_rancho
Гость
« Ответ #5 : Январь 12, 2011, 21:47 »

QGraphicsView для графиков не предназначен и не подходит.
Непонимающий
А что вас удивляет? Название класса? Так Graphics  - это не график в математике, а графика. График/чертеж - это Plot.
Записан
alexman
Гость
« Ответ #6 : Январь 12, 2011, 21:52 »

QGraphicsView для графиков не предназначен и не подходит.
Непонимающий
А что вас удивляет? Название класса? Так Graphics  - это не график в математике, а графика. График/чертеж - это Plot.
Так в чем проблема накидать рисовку графиков, используя каркас QGraphics?
Записан
Sancho_s_rancho
Гость
« Ответ #7 : Январь 12, 2011, 22:09 »

2 xokc
Мне на ум пришло воспоминание об одном религиозном деятеле, который сказал мне "Мол, докажи, что бога нет!". На что был справедливо послан подальше, т.к. невозможно доказать то, чего нет. Доказывать же надо существование.

Так и тут. Показать то, чего нет я не могу. Зато , по своему опыту, могу сказать что 2-d график с масштабированием и со стеком предыдущих состояний - это один .H и один .CPP файл размером 10-15 кб.

Как может облегчить тут жизнь GraphicsView я не представляю. Конечно если ко мне подойдут с ножом к горлу, то я и asci графикой нарисую.
пи.си. По поводу QObject я не понял. Зачем в графике какие-то QObject?
пи.пи.си  В приложении тройка скриншотов макета программы работающей со спектрами. График помнит предыдущие состояния, масштабируется мышью, адекватно ведет себя при ресайзе виджета. Размер plotter.cpp - 12 кб.  
« Последнее редактирование: Январь 12, 2011, 22:25 от Sancho_s_rancho » Записан
Sancho_s_rancho
Гость
« Ответ #8 : Январь 12, 2011, 22:14 »

2 alexman
Проблемы нет. Просто и преимуществ нет. Так зачем платить больше?
Записан
alexman
Гость
« Ответ #9 : Январь 12, 2011, 22:23 »

2 alexman
Проблемы нет. Просто и преимуществ нет. Так зачем платить больше?
ХЗ...на счет больше есть сомнение Подмигивающий
Записан
ratita
Гость
« Ответ #10 : Январь 13, 2011, 13:55 »

Я вам тут не мешаю?  Смеющийся
Записан
Sancho_s_rancho
Гость
« Ответ #11 : Январь 13, 2011, 14:53 »

Я вам тут не мешаю?  Смеющийся
Да нет,  не мешаете. Присаживайтесь тут с краешку. Улыбающийся
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #12 : Январь 13, 2011, 21:05 »

пи.си. По поводу QObject я не понял. Зачем в графике какие-то QObject?
Ну я же писал про шкалы, полупрозрачные слайдеры, прокрутки и т.п. Они-то и есть наследники от QObject. Короче, см. приложение.
Записан
Sancho_s_rancho
Гость
« Ответ #13 : Январь 13, 2011, 23:34 »

2 xokc
Выглядит красиво.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #14 : Январь 14, 2011, 19:19 »

Итого: стоит ли в будущем переписывать это дело под GraphicsView или лучше оставить как есть?
Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.088 секунд. Запросов: 23.