地獄-すべて、私はqtに不慣れで、私は1つのポイントを描くのに苦労しています。
最終的にQgraphicsSceneを呼び出す大きなqMainWindowがあり、その中に1つのポイント、1つの小さなピクセルを描画する必要があります。これで、QPainterを使用したいのですが、インスタンス化に問題があります。何か案は??
あなたがやろうとしていることのサンプルコードは、ここで大いに役立つでしょう。
QPainterの使用:キャンバスオブジェクトを指すQPainterオブジェクトを作成してから、を呼び出しますpainter_obj.drawPoint(x,y);
。オブジェクトのデストラクタが実際の描画を開始できるように、QPainterはヒープではなく、スタック上に作成する必要があることに注意してください。
ドキュメントからの例:
void SimpleExampleWidget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.setPen(Qt::blue);
painter.setFont(QFont("Arial", 30));
painter.drawText(rect(), Qt::AlignCenter, "Qt");
}
QGraphicsSceneの使用:通常、QGraphicsSceneを使用して、ビューの周囲に浮かんでいる多数のオブジェクトを同時に管理します。これは、単純な描画ウィジェットにはやり過ぎです。QGraphicsSceneは、iirc、QPainterがペイントするための有効なキャンバスではありません。
代わりに、適切なタイプのQGraphicsItem(またはサブクラス)を作成し、paintメソッドをオーバーライドします。QGrpahicsItemがシーンに追加されると、ライブラリは、適切な場合に描画を処理するために使用するQPainterオブジェクトを渡します。