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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Отобразить единый график на несколько ячеек в QTableView (QTableWidget) сразу  (Прочитано 6257 раз)
neosapient
Гость
« : Октябрь 23, 2009, 16:54 »

Хочу отобразить график результатов трассировки на несколько ячеек.
Насколько я понимаю, если использовать делегаты, то мне не получиться отображать график по всей длинне столбца.
Как лучше поступить в этой ситуации, чтобы отобразить график по всей длинне столбца?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Октябрь 23, 2009, 17:21 »

А может рядом с таблицей разместить виджет, где и рисовать график?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
baka
Гость
« Ответ #2 : Октябрь 23, 2009, 20:02 »

Можно сделать чтоб делегат в каждой ячейке отрисовывал фрагмента графика относящегося только к этой ячейке.
Только тогда делегат должен узнавать значения точек в соседних ячейках(верхней и нижней).
Либо хранить значения точек в QList.
Записан
BaltikS
Гость
« Ответ #3 : Октябрь 23, 2009, 20:22 »

А можно сделать объединение ячеек и нарисовать его в одной большой Улыбающийся
Записан
neosapient
Гость
« Ответ #4 : Октябрь 23, 2009, 20:36 »

А можно сделать объединение ячеек и нарисовать его в одной большой Улыбающийся
Это наверное мой вариант, как это сделать ? Можете привести пример ?
Записан
BaltikS
Гость
« Ответ #5 : Октябрь 23, 2009, 21:44 »

Нет, ну графики в ячейках я не рисовал... Улыбающийся... А по поводу объединения ячеек смотри QTableView::setSpan
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Октябрь 23, 2009, 22:12 »

Мне кажется вариант baka более универсальный. И тем более, что для каждой строки, как я увидел в примере, нужна подпись значения, при объединении ячеек я думаю это создаст больше хлопот, чем чем получение значений соседних строк для рисования линий от точки до точки
Записан

Юра.
neosapient
Гость
« Ответ #7 : Октябрь 26, 2009, 23:27 »

Мне кажется вариант baka более универсальный. И тем более, что для каждой строки, как я увидел в примере, нужна подпись значения, при объединении ячеек я думаю это создаст больше хлопот, чем чем получение значений соседних строк для рисования линий от точки до точки

Делаю QTableWidget, в который вставляю делегаты. График отрисовывается нормально.

Далее вставляю этот виджет через QGraphicsProxyWidget в сцену, но делегаты нормально не отображаются - не обновляется содержимое ячеек.
В чем может быть загвоздка?
Записан
neosapient
Гость
« Ответ #8 : Октябрь 27, 2009, 17:31 »

Сделал небольшой пример.
Есть диалог, в котором расположен QGraphicsView.
В нем сделал QGraphicsProxyWidget, в который вставил QTableWidget.
Первый столбец хранит значения соответствующего пика на графике.
Второй столбец - это собственно график. График рисую за счет делегата GraphDelegate.

Чтобы протестировать изменения на графике, сделал поток MyThread, который каждую секунду отсылал сигнал изменить случайную строку (вершину) графика на случайное значение.

------------
Чтобы график обновлялся автоматически, надо ставить флаг QGraphicsView::setViewportUpdateMode ( QGraphicsView::FullViewportUpdate );

« Последнее редактирование: Октябрь 27, 2009, 17:54 от neosapient » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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