Jetzt möchte ich diese Knoten auf einem Plan zeigen.
Es ist mir gelungen, einen Plan zu zeigen mit Hilfe eines Bildes (QImage).
Aber ich kann die Knoten und den Plan/Bild nicht zusammen zeigen, sondern nur getrennt.
Was muss ich an meinem Code ändern??
Code: Alles auswählen
#include <QtGui>
#include "imageviewer.h"
/* abs ^ */
#include "graphwidget.h"
/* abs v */
ImageViewer::ImageViewer()
{
imageLabel = new QLabel;
imageLabel->setBackgroundRole(QPalette::Base);
imageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
imageLabel->setScaledContents(true);
scrollArea = new QScrollArea;
scrollArea->setBackgroundRole(QPalette::Dark);
scrollArea->setWidget(imageLabel);
setCentralWidget(scrollArea);
/* abs ^ */
GraphWidget widget;
widget.show();
// scrollArea->setWidget(widget); // error: no matching function for call to ‘QScrollArea::setWidget(GraphWidget&)’
// // note: candidates are: void QScrollArea::setWidget(QWidget*)
//
// setCentralWidget(widget); // error: no matching function for call to ‘ImageViewer::setCentralWidget(GraphWidget&)’
// // note: candidates are: void QMainWindow::setCentralWidget(QWidget*)
/* abs v */
QString fileName = "Map-Germany-V1.1_ohne-Text.gif";
if (!fileName.isEmpty()) {
QImage image(fileName);
if (image.isNull()) {
QMessageBox::information(this, tr("Image Viewer"),
tr("Cannot load %1.").arg(fileName));
return;
}
imageLabel->setPixmap(QPixmap::fromImage(image)); // void QLabel::setPixmap ( const QPixmap & pixmap ) [virtual slot]
imageLabel->adjustSize(); // void QWidget::adjustSize ()
}
setWindowTitle(tr("Image Viewer"));
resize(500, 400);
}