Название: график функции как отдельный объект Отправлено: _Vitaliy_ от Май 18, 2010, 18:07 Доброго времени суток.
Есть задача: на форме выводится несколько графиков функций, как сделать так чтобы "мышкой" можно было передвигать графики отдельно друг от друга, например по одной из осей? Немного знаю qwt, если направление помощи будет в сторону QPainter тоже думаю разберусь. В идеале необходимо: 1. слева вертикальная ось со своим масштабом + вправо график функции и так для каждого графика; 2. графики функций располагаются сверху вниз. 3. ось х (время) для всех общая. Название: Re: график функции как отдельный объект Отправлено: _Vitaliy_ от Май 18, 2010, 21:10 Не зря говорят: "... задаешь вопрос а через 5 минут сам находишь ответ...".
Смотреть нужно в сторону QGraphicsView, по крайней мере у Шлее я нашел в примерах и вроде подходит. Код: ... но как заставить LineItem двигаться ТОЛЬКО по вертикали при перемещении "мышкой"? Название: Re: график функции как отдельный объект Отправлено: White Owl от Май 18, 2010, 21:36 но как заставить LineItem двигаться ТОЛЬКО по вертикали при перемещении "мышкой"? Для рисования графиков наверное будет удобнее использовать потомка от QGraphicsPathItem. В нем перехватить setPos() и занулять горизонтальную координату перед вызовом родительского метода. А еще можно перехватить мышиные события у потомка QGraphicsScene и делать движение объектов вручную. Название: Re: график функции как отдельный объект Отправлено: _Vitaliy_ от Май 19, 2010, 07:23 спасибо, будем пробовать...
Название: Re: график функции как отдельный объект Отправлено: BaltikS от Май 19, 2010, 12:14 Лучше посмотреть на метод QGraphicsItem::itemChange. В Ассистенте написан пример кстати говоря по поводу ограничений перемещения...
|