QGraphicsView
で使用しようとしているQLabel
のサブクラスを作成しました。グラフィックス・ビューをクリックしてドラッグすることができる移動可能な「ポイント」として機能します。QLabelのピックスマップを設定しないのはなぜですか?
カスタムクラスを作成してグラフィックビューに表示させることは問題にはなりません。しかし、私が欲しいイメージで自分自身をペイントするカスタムQLabel
を取得しようとしていることは起こっていません。私のカスタムQLabel
クラスのコンストラクタはそうのようなものです:私はimagesディレクトリは、アプリケーションから実行された作業ディレクトリに存在することを確実にしました
TrackerPoint::TrackerPoint(QWidget *parent) :
QLabel(parent)
{
this->setFixedSize(40, 40);
QPixmap pixmap(":/images/target.png");
this->setPixmap(pixmap);
this->setMask(pixmap.mask());
}
。それがすべてで関連している場合は、私のQRCファイルはそうのようなものです:
<RCC>
<qresource prefix="/images">
<file>images/target.png</file>
</qresource>
</RCC>
私は日のために、この問題に対処しようとしてきた - 画像が表示されない理由についての任意のアイデアは素敵でしょう。
'TrackerPoint :: paintEvent'で' QLabel'の 'paintEvent'をオーバーライドしたのでしょうか? – ismail
ctorの使用は問題ありません。ほとんどの場合、サブクラス化は必要ではありません。あなたはgraphicssceneの外にラベルを作成しようとしましたか? QGraphicsPixmapItemを試しましたか? –