Ho creato una sottoclasse di QLabel
che intendo utilizzare in un QGraphicsView
. Serve come un "punto" mobile su cui è possibile fare clic e trascinare la vista grafica.Perché non funziona la pixmap di una QLabel?
Creare la classe personalizzata e visualizzarla nella vista grafica non è stato un problema; tuttavia, cercare di ottenere l'immagine personalizzata da QLabel
con l'immagine che desidero non sta accadendo. Il costruttore per la mia classe personalizzata QLabel
è in questo modo:
TrackerPoint::TrackerPoint(QWidget *parent) :
QLabel(parent)
{
this->setFixedSize(40, 40);
QPixmap pixmap(":/images/target.png");
this->setPixmap(pixmap);
this->setMask(pixmap.mask());
}
ho assicurato che la directory immagini esiste nella directory di lavoro che l'applicazione viene eseguito da. Se è rilevante a tutti, il mio file QRC è in questo modo:
<RCC>
<qresource prefix="/images">
<file>images/target.png</file>
</qresource>
</RCC>
Ho cercato di affrontare questo problema per giorni - tutte le idee sul perché l'immagine non appare sarebbe bello. (? Ha a che fare con il fatto che sto impostando un pixmap nel costruttore della QLabel
)
Forse hai sovrascritto 'paintEvent' di' QLabel' tramite 'TrackerPoint :: paintEvent'? – ismail
L'uso del Ctor dovrebbe andare bene. Sebbene la sottoclasse non dovrebbe essere necessaria nella maggior parte dei casi. Hai provato a creare un'etichetta al di fuori del graphicsscene? Hai provato QGraphicsPixmapItem? –