Extra Fenster in Anwendung öffnen
Verfasst: 19. August 2010 17:52
Hallo,
ich schreibe ein Programm bei dem durch nach einem Dialogaufruf (der funktioniert) ein extra Fenster aufgehen soll, indem ein Histogramm (mit qwt) angezeigt werden soll. Leider bleibt das Fenster immer leer. Nichtmal Buttons oder ähnliches werden angezeigt. Folglich mache ich irgendetwas falsch. Hier mal ein paar Auszüge aus meinem Programm:
Für mein Histogramm-Fenster habe ich eine extra Klasse angelegt.
HistogramWindow.h:
HistogramWindow.cpp:
In meinem Hauptprogramm (Abwandlung vom Qt-ImageViewer) rufe ich das Fenster dann im SLOT void ImageViewer::histogram() so auf:
Was mache ich falsch? Es wäre toll, wenn mir jemand helfen würde. Ich brauche allerdings eine Erklärung für Dummies
Vielen Dank schonmal!!!
ich schreibe ein Programm bei dem durch nach einem Dialogaufruf (der funktioniert) ein extra Fenster aufgehen soll, indem ein Histogramm (mit qwt) angezeigt werden soll. Leider bleibt das Fenster immer leer. Nichtmal Buttons oder ähnliches werden angezeigt. Folglich mache ich irgendetwas falsch. Hier mal ein paar Auszüge aus meinem Programm:
Für mein Histogramm-Fenster habe ich eine extra Klasse angelegt.
HistogramWindow.h:
Code: Alles auswählen
#ifndef HISTOGRAMWINDOW_H
#define HISTOGRAMWINDOW_H
#include <QtGui>
class HistogramWindow : public QWidget
{
Q_OBJECT
public:
HistogramWindow(QWidget *parent = 0);
private:
QPushButton *closeButton;
};
#endifCode: Alles auswählen
#include "HistogramWindow.h"
#include <qwt_plot.h>
HistogramWindow::HistogramWindow(QWidget *parent)
: QWidget(parent)
{
QwtPlot plot(parent);
plot.setCanvasBackground(QColor(Qt::white));
plot.setTitle("Histogram");
closeButton = new QPushButton(tr("&Close"));
connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
setWindowTitle(tr("Histogram Window"));
}Code: Alles auswählen
HistogramWindow *histogramWindow = new HistogramWindow(this);
histogramWindow->setWindowFlags(Qt::Window);
QPoint pos = histogramWindow->pos();
if (pos.x() < 0)
pos.setX(0);
if (pos.y() < 0)
pos.setY(0);
histogramWindow->move(pos);
histogramWindow->show();Vielen Dank schonmal!!!