Название: Нужен виджет "вертикальная длинная полоска" (курсор типа как в SoundForge) Отправлено: Varan от Февраль 23, 2009, 10:59 В общем суть такая. Есть программа, которая рисует кучу графиков (QwtPlot) один над другим. У всех них должен быть один вертикальный "курсор", который можно перемещать нажатием на нем (ну вроде как в SoundForge, Audacity и пр.). Можно было сделать так: на каждом QwtPlot создать свой QwtPlotMarker, и с помощью QwtPlotPicker отслеживать события нажатий, после чего перемещать маркеры. В принципе, так все работает. Но очень сложная структура. Нужно сигнал из plot-а кидать куда-то в глубину его parent-ов, и уже там, на самом общем parent-е перемещать курсоры всех графиков сразу. Поскольку количество и виды plot-ов будут постоянно меняться, за всем этим будет просто очень сложно следить.
Поэтому думаю создать что-то вроде курсора на общем родителе и уже дальше транслировать координаты событий на графики с помощью QwtScaleMap. Но мало есть опыта работы с виджетами, поэтому спрашиваю: куда вообще можно двигаться? Как сделать такой курсор? Спасибо. Название: Re: Нужен виджет "вертикальная длинная полоска" (курсор типа как в SoundForge) Отправлено: Varan от Февраль 23, 2009, 14:42 Или просто скажите мне, как в Qt решается такая проблема - чтобы пуляться сигналами на большие "расстояния" (через много слоев агрегирования). Так же просто не напишешь QObject::connect(...), ведь оба объекта не видны в этой области. Пока склоняюсь к глобальному объекту (singleton, например), который выполнял бы функцию "контроллера" обмена сигналами.
|