He creado una subclase de QLabel
que tengo la intención de utilizar en un QGraphicsView
. Sirve como un "punto" móvil que se puede hacer clic y arrastrar alrededor de la vista de gráficos.¿Por qué no funciona el pixmap de una QLabel?
Crear la clase personalizada y que se muestre en la vista de gráficos no ha sido un problema; sin embargo, tratar de hacer que el personalizado QLabel
se pinte con la imagen que quiero no está sucediendo. El constructor de mi clase personalizada QLabel
es así:
TrackerPoint::TrackerPoint(QWidget *parent) :
QLabel(parent)
{
this->setFixedSize(40, 40);
QPixmap pixmap(":/images/target.png");
this->setPixmap(pixmap);
this->setMask(pixmap.mask());
}
me ha asegurado que existe el directorio de imágenes en el directorio de trabajo que la aplicación se ejecuta desde. Si es relevante en absoluto, mi archivo QRC es así:
<RCC>
<qresource prefix="/images">
<file>images/target.png</file>
</qresource>
</RCC>
Me he estado tratando de hacer frente a este problema desde hace días - alguna idea de por qué la imagen no aparece sería precioso. (? ¿Tiene que ver con el hecho de que estoy estableciendo un mapa de píxeles en el constructor de la QLabel
)
Quizás usted anuló 'paintEvent' de' QLabel' mediante 'TrackerPoint :: paintEvent'? – ismail
El uso del ctor debería estar bien. Aunque la Subclasificación no debería ser necesaria en la mayoría de los casos. ¿Intentó crear una etiqueta fuera de la escena gráfica? ¿Intentó QGraphicsPixmapItem? –