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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужен виджет "вертикальная длинная полоска" (курсор типа как в SoundForge)  (Прочитано 3484 раз)
Varan
Гость
« : Февраль 23, 2009, 10:59 »

В общем суть такая. Есть программа, которая рисует кучу графиков (QwtPlot) один над другим. У всех них должен быть один вертикальный "курсор", который можно перемещать нажатием на нем (ну вроде как в SoundForge, Audacity и пр.). Можно было сделать так: на каждом QwtPlot создать свой QwtPlotMarker, и с помощью QwtPlotPicker отслеживать события нажатий, после чего перемещать маркеры. В принципе, так все работает. Но очень сложная структура. Нужно сигнал из plot-а кидать куда-то в глубину его parent-ов, и уже там, на самом общем parent-е перемещать курсоры всех графиков сразу. Поскольку количество и виды plot-ов будут постоянно меняться, за всем этим будет просто очень сложно следить.
Поэтому думаю создать что-то вроде курсора на общем родителе и уже дальше транслировать координаты событий на графики с помощью QwtScaleMap. Но мало есть опыта работы с виджетами, поэтому спрашиваю: куда вообще можно двигаться? Как сделать такой курсор?
Спасибо.
Записан
Varan
Гость
« Ответ #1 : Февраль 23, 2009, 14:42 »

Или просто скажите мне, как в Qt решается такая проблема - чтобы пуляться сигналами на большие "расстояния" (через много слоев агрегирования). Так же просто не напишешь QObject::connect(...), ведь оба объекта не видны в этой области. Пока склоняюсь к глобальному объекту (singleton, например), который выполнял бы функцию "контроллера" обмена сигналами.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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