Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [qwt] Границы QwtPlot не совпадают с QwtRasterData


Автор: ppopov 12.10.2011, 16:15
На моём QwtPlot рисуется только один QwtRasterData. У QwtRasterData setBoundingRect(QwtDoubleRect(0, 0, 2.8, 1088)) выставляется правельный. А этот паразит округляет граници до удобного ему значения smile
Суть проблемы лучше показать на картинке
[URL=http://s1.ipicture.ru/]user posted image
Подскажите как сделть красиво.

Автор: ppopov 17.10.2011, 09:41
:-(
Я может как-то не понятно объяснил или никто с qwt не работал?

Автор: ppopov 17.10.2011, 14:31
Выяснил что базовый класс в методе QwtPlotPicker::scaleRect ( ) возвращает какрас эти "кривые координаты" (0,0,1200,3)....копаю дальше

Автор: Modul 17.10.2011, 14:54
Цитата(ppopov @  17.10.2011,  09:41 Найти цитируемый пост)
Я может как-то не понятно объяснил или никто с qwt не работал?


Я сам графики делал.

Цитата(ppopov @  17.10.2011,  14:31 Найти цитируемый пост)
копаю дальше


Очень гут. Копай. И сам.

Автор: JackYF 18.10.2011, 20:02
Цитата(Modul @  17.10.2011,  13:54 Найти цитируемый пост)
Очень гут. Копай. И сам.


 ! 
JackYF
Эй-эй, полегче на поворотах.

Автор: ppopov 19.10.2011, 07:55
Добился того что при зуммировании "серых полей" нестало. В наследники от QwtPlotZoomer переопределил updateScrollBars() в котором указал
Код

ScrollBar *sb = scrollBar(Qt::Horizontal);
sb->setBase(m_xStart, m_width);

В незуммированом состоянии(как на картинке выше) все осталось по прежнему.

Автор: ppopov 20.10.2011, 10:37
Код

class ScrollZoomer: public QwtPlotZoomer
{
.....
};

MyQwtPlot::MyQwtPlot()
{
zoomer = new ScrollZoomer(canvas());
QRectF recF = QRectF(x0,y0,w,h);
zoomer->zoom(recF);
}


Отана отана рыба моей мечты
zoomer->zoom(recF);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)