SWE_laie
28-01-2005, 16:20
Hallo alle zusammen
ich habe ein problem mit dem Zoom. ich habe ein Grafikfenster zur Ausgabe von Grafen geschrieben, es werden mehrere Grafen aufgeteilt in Tabs angezeigt. Jetzt klappt das zoomen aber nur noch im ersten Tab in den anderen nicht mehr. Woran könnte das liegen?
Der Quellcode wo ich meine, dass das Problem liegt kommmt jetzt:
DiagramWidget::DiagramWidget (QWidget *p, const char *name): QMainWindow (p, name)
{
setCentralWidget (new QWidget (this, "qt_central_widget"));
tabWidget3 = new QTabWidget (centralWidget(), "tabWidget3");
//Tab Nummer 1 (Druck)
tab = new QWidget (tabWidget3, "tab");
d_plot = new Kurveplot (tab);
//Tab Nummer 2 (Fuellstand)
tab_2 = new QWidget (tabWidget3, "tab_2");
d_plot2 = new Kurveplot (tab_2);
//Tab Nummer 3 (Temperatur)
tab_3 = new QWidget (tabWidget3, "tab_3");
d_plot3 = new Kurveplot (tab_3);
//Tab Nummer 4 (Ablass)
tab_4 = new QWidget (tabWidget3, "tab_4");
d_plot4 = new Kurveplot (tab_4);
//Tab Nummer 5 (All in One)
tab_5 = new QWidget (tabWidget3, "tab_5");
d_plot5 = new Kurveplot (tab_5);
} //end of konstruktor
void DiagramWidget::plot ()
{
tabWidget3 -> setGeometry (QRect (10, 10, 500, 400));
//Tab Nummer 1 (Druck)
d_plot -> setGeometry (QRect (10, 10, 480, 350));
d_plot -> plot (1);
tabWidget3 -> insertTab (tab, QString (""));
//Tab Nummer 2 (Fuellstand)
d_plot2 -> setGeometry (QRect (10, 10, 480, 350));
d_plot2 -> plot (2);
tabWidget3 -> insertTab (tab_2, QString (""));
//Tab Nummer 3 (Temperatur)
d_plot3 -> setGeometry (QRect (10, 10, 480, 350));
d_plot3 -> plot (3);
tabWidget3 -> insertTab (tab_3, QString (""));
//Tab Nummer 4 (Ablass)
d_plot4 -> setGeometry (QRect (10, 10, 480, 350));
d_plot4 -> plot (4);
tabWidget3 -> insertTab (tab_4, QString (""));
//Tab Nummer 5 (All in One)
d_plot5 -> setGeometry (QRect (10, 10, 480, 350));
d_plot5 -> plot_all () ;
tabWidget3 -> insertTab (tab_5, QString (""));
setCaption (tr ("Diagramme"));
tabWidget3 -> changeTab (tab, tr ("Druckdiagramm"));
tabWidget3 -> changeTab (tab_2, tr ("Fuellstandsdiagramm"));
tabWidget3 -> changeTab (tab_3, tr ("Temperaturdiagramm"));
tabWidget3 -> changeTab (tab_4, tr ("Ablassdiagramm"));
tabWidget3 -> changeTab (tab_5, tr ("All in One"));
resize (QSize (500, 400).expandedTo(minimumSizeHint ()));
clearWState (WState_Polished);
d_zoomer[0] = new QwtPlotZoomer(QwtPlot::xBottom, QwtPlot::yLeft, QwtPicker::DragSelection, QwtPicker::AlwaysOff, d_plot -> canvas() );
d_zoomer[0] -> setRubberBandPen (Qt::green);
d_zoomer[1] = new QwtPlotZoomer(QwtPlot::xTop, QwtPlot::yRight, QwtPicker::DragSelection, QwtPicker::AlwaysOff, d_plot -> canvas() );
d_zoomer[1] -> setRubberBand (QwtPicker::NoRubberBand);
QToolBar *toolbar = new QToolBar (this);
QToolButton *btnzoom = new QToolButton (toolbar);
btnzoom -> setTextLabel ("Zoom");
btnzoom -> setPixmap (zoom_xpm);
btnzoom -> setToggleButton (TRUE);
btnzoom -> setUsesTextLabel (TRUE);
QToolButton *btnexit = new QToolButton (toolbar);
btnexit -> setTextLabel ("Exit");
btnexit -> setPixmap (exit_xpm);
//btnexit -> setToggleButton (TRUE);
btnexit -> setUsesTextLabel (TRUE);
toolbar -> setStretchableWidget (new QWidget (toolbar) );
zoom (FALSE); //zoom deaktivieren
connect (btnzoom, SIGNAL(toggled(bool)), SLOT(zoom(bool) ));
connect (btnexit, SIGNAL (clicked()), qApp, SLOT (quit()));
} //end of plot
void DiagramWidget::zoom (bool on)
{
d_zoomer[0] -> setEnabled (on);
d_zoomer[0] -> zoom(0);
d_zoomer[1] -> setEnabled (on);
d_zoomer[1] -> zoom(0);
} //end of zoom
ich hoffe ihr könnt mir helfen
ich habe ein problem mit dem Zoom. ich habe ein Grafikfenster zur Ausgabe von Grafen geschrieben, es werden mehrere Grafen aufgeteilt in Tabs angezeigt. Jetzt klappt das zoomen aber nur noch im ersten Tab in den anderen nicht mehr. Woran könnte das liegen?
Der Quellcode wo ich meine, dass das Problem liegt kommmt jetzt:
DiagramWidget::DiagramWidget (QWidget *p, const char *name): QMainWindow (p, name)
{
setCentralWidget (new QWidget (this, "qt_central_widget"));
tabWidget3 = new QTabWidget (centralWidget(), "tabWidget3");
//Tab Nummer 1 (Druck)
tab = new QWidget (tabWidget3, "tab");
d_plot = new Kurveplot (tab);
//Tab Nummer 2 (Fuellstand)
tab_2 = new QWidget (tabWidget3, "tab_2");
d_plot2 = new Kurveplot (tab_2);
//Tab Nummer 3 (Temperatur)
tab_3 = new QWidget (tabWidget3, "tab_3");
d_plot3 = new Kurveplot (tab_3);
//Tab Nummer 4 (Ablass)
tab_4 = new QWidget (tabWidget3, "tab_4");
d_plot4 = new Kurveplot (tab_4);
//Tab Nummer 5 (All in One)
tab_5 = new QWidget (tabWidget3, "tab_5");
d_plot5 = new Kurveplot (tab_5);
} //end of konstruktor
void DiagramWidget::plot ()
{
tabWidget3 -> setGeometry (QRect (10, 10, 500, 400));
//Tab Nummer 1 (Druck)
d_plot -> setGeometry (QRect (10, 10, 480, 350));
d_plot -> plot (1);
tabWidget3 -> insertTab (tab, QString (""));
//Tab Nummer 2 (Fuellstand)
d_plot2 -> setGeometry (QRect (10, 10, 480, 350));
d_plot2 -> plot (2);
tabWidget3 -> insertTab (tab_2, QString (""));
//Tab Nummer 3 (Temperatur)
d_plot3 -> setGeometry (QRect (10, 10, 480, 350));
d_plot3 -> plot (3);
tabWidget3 -> insertTab (tab_3, QString (""));
//Tab Nummer 4 (Ablass)
d_plot4 -> setGeometry (QRect (10, 10, 480, 350));
d_plot4 -> plot (4);
tabWidget3 -> insertTab (tab_4, QString (""));
//Tab Nummer 5 (All in One)
d_plot5 -> setGeometry (QRect (10, 10, 480, 350));
d_plot5 -> plot_all () ;
tabWidget3 -> insertTab (tab_5, QString (""));
setCaption (tr ("Diagramme"));
tabWidget3 -> changeTab (tab, tr ("Druckdiagramm"));
tabWidget3 -> changeTab (tab_2, tr ("Fuellstandsdiagramm"));
tabWidget3 -> changeTab (tab_3, tr ("Temperaturdiagramm"));
tabWidget3 -> changeTab (tab_4, tr ("Ablassdiagramm"));
tabWidget3 -> changeTab (tab_5, tr ("All in One"));
resize (QSize (500, 400).expandedTo(minimumSizeHint ()));
clearWState (WState_Polished);
d_zoomer[0] = new QwtPlotZoomer(QwtPlot::xBottom, QwtPlot::yLeft, QwtPicker::DragSelection, QwtPicker::AlwaysOff, d_plot -> canvas() );
d_zoomer[0] -> setRubberBandPen (Qt::green);
d_zoomer[1] = new QwtPlotZoomer(QwtPlot::xTop, QwtPlot::yRight, QwtPicker::DragSelection, QwtPicker::AlwaysOff, d_plot -> canvas() );
d_zoomer[1] -> setRubberBand (QwtPicker::NoRubberBand);
QToolBar *toolbar = new QToolBar (this);
QToolButton *btnzoom = new QToolButton (toolbar);
btnzoom -> setTextLabel ("Zoom");
btnzoom -> setPixmap (zoom_xpm);
btnzoom -> setToggleButton (TRUE);
btnzoom -> setUsesTextLabel (TRUE);
QToolButton *btnexit = new QToolButton (toolbar);
btnexit -> setTextLabel ("Exit");
btnexit -> setPixmap (exit_xpm);
//btnexit -> setToggleButton (TRUE);
btnexit -> setUsesTextLabel (TRUE);
toolbar -> setStretchableWidget (new QWidget (toolbar) );
zoom (FALSE); //zoom deaktivieren
connect (btnzoom, SIGNAL(toggled(bool)), SLOT(zoom(bool) ));
connect (btnexit, SIGNAL (clicked()), qApp, SLOT (quit()));
} //end of plot
void DiagramWidget::zoom (bool on)
{
d_zoomer[0] -> setEnabled (on);
d_zoomer[0] -> zoom(0);
d_zoomer[1] -> setEnabled (on);
d_zoomer[1] -> zoom(0);
} //end of zoom
ich hoffe ihr könnt mir helfen