QGraphicsフレームワークを使用してWebビューを表示するこの埋め込みQtアプリケーションがあります。Webビューのサイズは1280*720ピクセルであり、QGraphicsViewはこれらの座標(0,0、1280x720)でシーンをレンダリングするように設定されています。
右上隅(1100,50)に読み込みインジケーターを追加しようとしています。これは、QTimeLineを使用して時々回転する単純なPNG画像です。
コードは次のようになります(インターネットで変換のトリックを見つけました):
// loading_indic initialization:
QGraphicsPixmapItem *loading_indic =
new QGraphicsPixmapItem( QPixmap("./resources/loading_64.png") );
loading_indic->setPos(QPoint(1100.0,50.0));
QTimeLine timeline = new QTimeLine(1000);
timeline->setFrameRange(0,steps);
connect(timeline, SIGNAL(valueChanged(qreal)), this, SLOT(updateStep(qreal)));
timeline->start();
// called at each step of a QTimeLine:
void updateStep(qreal step) {
QTransform transformation = QTransform()
// place coordinate system to the center of the image
.translate( width/2.0, height/2.0)
// rotate the image in this new coordinate system
.rotate(new_angle)
// replace the coordinate system to the original
.translate( -width/2.0, -height/2.0);
loading_indic->setTransform(transformation);
}
さて、私の問題は、これを行うと、WebViewも翻訳されているように見え、すべてが画面の中央に表示されることです。
結果は次のようになります。
Webビューは画面全体に表示されるはずであり、読み込みインジケーターは右上にあるはずです...
私のシーンには2つのアイテムしか含まれていません。
Scene
|
\____ QGraphicsWebView
\____ QGraphicsPixmapItem // loading indicator
私はここで何が間違っているのですか?