J'ai créé une classe qui hérite de QSlider. Je veux dessiner une image sur le curseur (grabber) au lieu de montrer le plain. Comment faire?Comment dessiner une image au lieu du curseur sur Qt QSlider?
-
J'ai trouvé une réponse et affiché après avoir reçu la réponse. Avec tout le respect que je dois au répondant, je vais choisir cette réponse. Cependant, je voudrais partager le code afin que toute personne avec le même problème peut bénéficier:
void InheritedSlider::paintEvent(QPaintEvent *event)
{
// uncomment to draw the parent first. Comment out to just ignore it.
//QSlider::paintEvent(event);
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing);
//painter.translate(width()/2, height()/2);
//painter.scale(100/200.0, 100/200.0);
QPainterPath volPath;
volPath.moveTo(60.0, 40.0);
volPath.arcTo(20.0, 20.0, 40.0, 40.0, 0.0, 360.0);
volPath.moveTo(40.0, 40.0);
volPath.lineTo(40.0, 80.0);
volPath.lineTo(80.0, 80.0);
volPath.lineTo(80.0, 40.0);
volPath.closeSubpath();
painter.drawPath(volPath);
}
+! Merci, c'est ce que j'ai fait :) – Viet