![]() |
|
|
![]()
|
|
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Приветствую!
Создаю контрол для рисования графика. Такая проблема возникла: Я добавляю в линии в QGraphicsScene для отображения графика и затем масштабирую под размер окна. Теперь мне нужно нарисовать оси координат. Как их можно нарисовать в QGraphicsView под основным графиком и так что бы изменение масштаба на них не влияло? Заранее спасибо! |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 5 Всего: 44 |
Elfet, привет! может посмотреть готовые виджеты для построения графиков? Если да то смотри прикрепленные темы
|
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
chaos, нет. мне готовые не нужны. Так как не нашёл того функционала что мне нужен. Хочу простой свой сделать.
|
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 5 Всего: 39 |
Оси координат (а также стрелочки, метки, сетку и пр., и пр.) нужно создавать на той же графиксцене. Для управления расположением над/под существует свойство элементов zvalue.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
djamshud, ок. спасибо. А как сделать так что бы не нужно было учитывать масштаб? Например текст в определённом месте?
|
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 5 Всего: 39 |
Вы хотите сказать, что при масштабировании оси координат не меняются? Подумайте еще раз;). Нужно менять шкалу, надписи на ней и их расположение.
PS. Велосипед уже сейчас кажется не таким простым. А потом еще появится сглаживание графика, динамическое обновление, попытки оптимизировать скорость рисования для множества данных, возможность разнообразных настроек и чего-нибудь еще. Мастерил я подобное, знаю. Еще раз советую посмотреть готовые решения -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
djamshud, ок, спасибо.
Но всё же сам хочу попробовать. Подскажите хотя бы как нарисовать текст в определённом месте что бы он не менялся при изменении размера и не смещался при прокрутке? |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 5 Всего: 39 |
>Подскажите хотя бы как нарисовать текст в определённом месте что бы он не менялся при изменении размера и не смещался при прокрутке?
Можно изменять размер отдельных элементов на сцене. QGraphicsItem::scale(). Можно всю сцену. QGraphicsView::scale(). При масштабировании графика у вас будет меняться шкала с отметками и координатная сетка. Думаю, так: изменяем масштаб, удаляем все, что связано с осями, кроме них самих, рисуем заново в заново расчитаных позициях. При прокрутке графика то же самое. Это можно чуточку оптимизировать: удалять или создавать новые элементы (линии, надписи и т.д.) только в случае необходимости, т.е. стараться по максимуму просто перемещать уже существующие элементы. >Где можно посмотреть то? Мне казалось, это вы создавали топик в поисках готовой библиотеки графиков... Как бы то ни было, там я советовал qwt и сейчас посоветую ее же -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |