1 pièce(s) jointe(s)
Déplacement du curseur du QSlider
Bonjour ^^
Voilà j'ai décidé de vous posez la question suivante pour le logiciel que je code actuellement:
Comment fait on pour que le QSlider n'avance pas d'un "cran" quand on clique dessus mais qu'il avance jusqu'à la valeur située à l'endroit du clic?
J'espère m'être bien exprimé ^^'
Merci d'avance à tous de votre aide :)
PS: au début mon logiciel était en Java et j'avais posé cette question ici et la solution qu'on m'avait indiquée marchait (je donne le lien au cas où ça puisse vous aidez à m'aider :p )
EDIT: problème résolu:
Le problème a été résolu avec un peu de réflexion sur le calcul de la valeur du QSlider en fonction de x() (ou en fonction de y() si le QSlider est vertical) ^^
Voilà le code la solution:
Code:
1 2 3 4 5 6 7 8
| void Slider::mousePressEvent(QMouseEvent *event)
{
float slidermargin = 8.0; // valeur correspondant à la petite marge entre le début de l'"objet" en lui même et le début des valeurs du QSlider (multipliée par 2)
float xforslide = event->x() - slidermargin + (event->x()*(slidermargin*2.0))/maximum();
float valueToSet = xforslide*maximum()/(width() - (slidermargin*2.0));
setValue(valueToSet);
} |
La "marge" dont la largeur est celle de la largeur du trait vertical rouge (voir image en pj)
Merci quand même à vous :)