Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt] Рисование поверх QGraphicsView. 
:(
    Опции темы
Elfet
Дата 11.12.2009, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Приветствую! 

Создаю контрол для рисования графика. Такая проблема возникла:
Я добавляю в линии в QGraphicsScene для отображения графика и затем масштабирую под размер окна. 

Теперь мне нужно нарисовать оси координат.  

Как их можно нарисовать в QGraphicsView под основным графиком и так что бы изменение масштаба на них не влияло? 

Заранее спасибо!


--------------------
PM MAIL WWW Skype   Вверх
chaos
Дата 12.12.2009, 00:18 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 5
Всего: 44



Elfet, привет! может посмотреть готовые виджеты для построения графиков? Если да то смотри прикрепленные темы
PM WWW   Вверх
Elfet
Дата 12.12.2009, 12:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



chaos, нет. мне готовые не нужны. Так как не нашёл того функционала что мне нужен. Хочу простой свой сделать.


--------------------
PM MAIL WWW Skype   Вверх
djamshud
Дата 12.12.2009, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 5
Всего: 39



Оси координат (а также стрелочки, метки, сетку и пр., и пр.) нужно создавать на той же графиксцене. Для управления расположением над/под существует свойство элементов zvalue.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Elfet
Дата 12.12.2009, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



djamshud, ок. спасибо. А как сделать так что бы не нужно было учитывать масштаб? Например текст в определённом месте?


--------------------
PM MAIL WWW Skype   Вверх
djamshud
Дата 12.12.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 5
Всего: 39



Вы хотите сказать, что при масштабировании оси координат не меняются? Подумайте еще раз;). Нужно менять шкалу, надписи на ней и их расположение.

PS. Велосипед уже сейчас кажется не таким простым. А потом еще появится сглаживание графика, динамическое обновление, попытки оптимизировать скорость рисования для множества данных, возможность разнообразных настроек и чего-нибудь еще. Мастерил я подобное, знаю. Еще раз советую посмотреть готовые решенияsmile.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Elfet
Дата 12.12.2009, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



djamshud, ок, спасибо. smile Где можно посмотреть то?


Но всё же сам хочу попробовать.  
Подскажите хотя бы как нарисовать текст в определённом месте что бы он не менялся при изменении размера и не смещался при прокрутке?


--------------------
PM MAIL WWW Skype   Вверх
djamshud
Дата 12.12.2009, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 5
Всего: 39



>Подскажите хотя бы как нарисовать текст в определённом месте что бы он не менялся при изменении размера и не смещался при прокрутке?

Можно изменять размер отдельных элементов на сцене. QGraphicsItem::scale(). Можно всю сцену. QGraphicsView::scale(). При масштабировании графика у вас будет меняться шкала с отметками и координатная сетка.

Думаю, так: изменяем масштаб, удаляем все, что связано с осями, кроме них самих, рисуем заново в заново расчитаных позициях. При прокрутке графика то же самое. Это можно чуточку оптимизировать: удалять или создавать новые элементы (линии, надписи и т.д.) только в случае необходимости, т.е. стараться по максимуму просто перемещать уже существующие элементы.

>Где можно посмотреть то?

Мне казалось, это вы создавали топик в поисках готовой библиотеки графиков... Как бы то ни было, там я советовал qwt и сейчас посоветую ее жеsmile. Все, что нужно - это разобраться. Мануала вроде бы нет, зато есть примеры и документация.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.