これはおそらく非常に明白なことですが、私は Qt が初めてで、理解できません。ボタンが 1 つある単純な MainWindow があります。そのボタンがクリックされたら、QGraphicsScene を作成し、いくつかの行を追加して、それをウィンドウに表示します。ただし、このコードをウィンドウで実行すると表示されません。
しかし、これを QApplication として実行すると、問題なく表示されます。私は何が欠けていますか?
MainWindow のコードは次のとおりです。
void TheDrawings::drawScene() {
qDebug() << "Setting up Scene";
QGraphicsScene scene(QRect(-50, -50, 400, 200));
QPen pen(Qt::red, 3, Qt::DashDotDotLine);
QGraphicsRectItem *rectItem = new QGraphicsRectItem(QRect(-50, -50, 400,
200), 0, &scene);
rectItem->setPen(pen);
rectItem->setBrush(Qt::gray);
QGraphicsSimpleTextItem *textItem = new QGraphicsSimpleTextItem(
"Amit Bahree", 0, &scene);
textItem->setPos(50, 0);
QGraphicsEllipseItem *eclipseItem = new QGraphicsEllipseItem(QRect(170, 20,
100, 75), 0, &scene);
eclipseItem->setPen(QPen(Qt::darkBlue));
eclipseItem->setBrush(Qt::darkBlue);
QGraphicsPolygonItem *polygonItem = new QGraphicsPolygonItem(QPolygonF(
QVector<QPointF> () << QPointF(10, 10) << QPointF(0, 90)
<< QPointF(40, 70) << QPointF(80, 110) << QPointF(70, 20)),
0, &scene);
polygonItem->setPen(QPen(Qt::darkGreen));
polygonItem->setBrush(Qt::yellow);
qDebug() << "Setting up the view";
QGraphicsView view;
view.setScene(&scene);
view.show();
}