Russian Qt Forum
Ноябрь 22, 2024, 12:24
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Дополнительные компоненты
>
QWT -> QwtPlot и QwtPlotZoomer
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QWT -> QwtPlot и QwtPlotZoomer (Прочитано 13388 раз)
SLiDER
Гость
QWT -> QwtPlot и QwtPlotZoomer
«
:
Февраль 08, 2005, 18:02 »
Проблема следующая. Если цепляеш QwtPlotZoomer к QwtPlot, до вывода на него (QwtPlot) какой-либо информации, то зумер работает совершенно неадекватно. А именно, считает, что базовым размером графика является размер 1000х1000, и в дальнейшем что бы с ним не делали рассчитывает зумминг исходя из этого размера. Например при нажатии на левую кнопку мыши масштабирует график именно до этого размера, независимо от того какие данные на него выведены.
Вопрос такой. Каким образом заставить QwtPlotZoomer следить за максимальными и минимальными значениями выводимыми на график или хотябы в нужный момент самому ему их подсовывать.
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
QWT -> QwtPlot и QwtPlotZoomer
«
Ответ #1 :
Февраль 09, 2005, 11:09 »
Я зум у себя вообще выключик. Кривоватая штучка.
Вообще qwt имееет несколько недоделок, с которыми хочу поборотся на днях.
Записан
SLiDER
Гость
QWT -> QwtPlot и QwtPlotZoomer
«
Ответ #2 :
Февраль 09, 2005, 12:37 »
Вот нашел сегодня в документации феньку, на которую сразу не обратил внимания:
Цитировать
Warning:
Calling QwtPlot::setAxisScale() while QwtPlot::autoReplot() is FALSE leaves the axis in an 'intermediate' state. In this case, to prevent buggy behaviour, your must call QwtPlot::replot() before calling QwtPlotPicker::scaleRect(), QwtPlotZoomer::scaleRect(), QwtPlotPicker::QwtPlotPicker() or QwtPlotZoomer::QwtPlotZoomer(). This quirk will be removed in a future release.
Выходит, что передкаждым зумом нужно обязательно (покрайней мере в этой версии - 4.2.0) вызывать функцию перерисовки графика (QwtPlot::replot()), иначе пахать небудет. 8-( Т.е. решение такое наследуйтесь от QwtPlotZoomer переопределяйте конструктор (для передачи в него указателя на QwtPlot) и функцию scaleRect() вызывая в ней перерисовку QwtPlot. Вобщем сплошной геморой 8-(. Создатели могли бы и сами об этом позаботится !!!
Пойду попробую, может что и выйдет.[/b][/quote]
Записан
SLiDER
Гость
QWT -> QwtPlot и QwtPlotZoomer
«
Ответ #3 :
Февраль 10, 2005, 00:06 »
Нет, так как я написал выше нефига не выйдет. Ф-я scaleRect() объявлена private членом даже не самого QwtPlotZoomer, а его предка QwtPlotPicker, так что номер практически дохлый. Правдв после этого мне совсем непонятно ремарка оставленная авторами в документации. Собственно как они это себе представляют.
Завтра буду ковырять исходники, может что в голову и придет, уж очень не хочется их править.
А вообще, у меня просьба, ко всем кто имеет хоть какойто опыт работы с этой штукой, поделится обнаруженными багами. После непродолжительных тестов мне показалось что сам QwtPlot, да и QwtPlotPicker ведут себя в общем то прилично. А вот QwtPlotZoomer помоему неработает, в принципе, ни прикаких обстоятельствах, кроме их же (авторов) тривиального примера.
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
QWT -> QwtPlot и QwtPlotZoomer
«
Ответ #4 :
Февраль 10, 2005, 01:03 »
Я c QWT достаточно давно
еще с 2 версии
баги или фичи которые помню:
- странно меняется размер виджета, в зависимости от данных
- зуум я ваще нафиг отключил
- нет верхних и правых линеек или я не нашел
- нельзя несколько осей задать
еще че вспомню напишу
вообще народу на этом форумеработающих с qwt 2-3 человека
PS: свой график лень писать, использую qwt
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
QWT -> QwtPlot и QwtPlotZoomer
«
Ответ #5 :
Февраль 11, 2005, 13:13 »
ну тогда 3-4
я тоже с QWT работал, да и сейчас для нового проекта, наверно, буду его юзать. Глючноват, конечно, но помогает Ж)
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
SLiDER
Гость
QWT -> QwtPlot и QwtPlotZoomer
«
Ответ #6 :
Февраль 11, 2005, 14:34 »
Цитировать
- нет верхних и правых линеек или я не нашел
- нельзя несколько осей задать
Ну это то как раз есть, посмотри их основной пример (он даже на скриншоте на сайте отображен), там все достаточно ясно.
А вот зумер мне так до сих пор и не удалось победить. 8-(
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...