QT 4.5でペイントプログラムを実行しようとしているので、キャンバスにQGraphicsViewを使用し、描画されたアイテムを保存するためにQGraphicsSceneを使用しています。いくつかの理由で、自分の派生QGraphicsViewでQPainterコンテキストを取得できませんでした
class DrawingCanvas : public QGraphicsView
{
DrawingCanvas::DrawingCanvas(QWidget * parent);
...
};
DrawingCanvas::DrawingCanvas(QWidget * parent = 0) : QGraphicsView(parent)
{
....
}
void DrawingCanvas::paintEvent(QPaintEvent& paintEventInfo)
{
// Result in painter not active
QPainter(this);
...
}
ただし、DrawingCanvasをQWidgetの子に変更すると、機能します。QGraphicsViewがQAbstractScrollArea、QFrame、QWidgetの順に派生していることを考えると、コードが機能することを期待しています。
だから私は質問が次のとおりだと思います:
1)QGraphicsViewでpaintEventを使用してアクティブなQPainterを取得できないのはなぜですか?2)入手できる可能性はありますか?
前もって感謝します!