J'ai commencé à utiliser Qt hier, et je m'entraîne aujourd'hui à faire un slider & une barre de progression :
Après avoir rapidement réussi à faire la fenêtre, j'ai voulu mettre au point un bouton "Reset", réinitialisant la barre de progression à 0.
Mais le problème est que le slider, lui, ne revenait pas à sa position initiale. J'ai donc cablé (quelle belle métaphore ) la barre au slider.
Salut, tu créer un bouton (QPushButton), que tu affiches (widget parent + layout). Ensuite tu récupere le signal cliked() par exemple que tu connectes à un ton slot personnalisé, qui remettra le slider et la barre de progression à 0. Regarde setValue() de QProgressBar et setValue de QAbstractSlider, classe parente de QSlider
Même si je ne connais pas les slots personnalisés, c'est juste mon prochain passage à lire, ça ne doit pas être si difficile que ça.
Mais je viens tout juste d'essayer de connecter le bouton m_reset aux slots setValue de la barre et setValue du slider, mais ça ne marche pas... Je suis forcé de créer un slot personnalisé ?
La fonction setValue(), prend une paramètre de type int. Si tu envoie la valeur 4 à cette méthode de QProgressBar, alors ta barre de progression vaudra 4%. C'est pas sorcier
Mais là, en effet tu seras contraint à créer un slot personnalisé, tu verras ce n'est pas bien compliqué
Dans ta définition de classe, tu as bien le prototype suivant :
public slot:
void reinitialiser(QProgressBar *barre, QSlider *slider)
Ensuite, sache que lors d'une connexion signal/slot, on ne peut transmettre que des paramètres en indiquant les types (int, double, char...). donc pas de nom, et surtout pas de valeur.
Essaye les codes suivants, et fait de ton mieux pour les comprendre
Alors comme j'ai absolument rien compris à ce que tu m'as écrit en mode Qt/C++ (ne le prends pas mal, c'est ma faute, hein! ), j'ai juste lu le français (c'est mieux ):
Citation : Abdelite
Ensuite, sache que lors d'une connexion signal/slot, on ne peut transmettre que des paramètres en indiquant les types (int, double, char...). Donc pas de nom, et surtout pas de valeur.
Et comme j'ai entraperçu dans un moment de lucidité que ta fonction réinitialiserTout était void et prenait directement les m_bar et m_slider... Et ben j'ai fait pareil !
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Je ferme ce sujet. En cas de désaccord, me contacter par MP.
for ( size_t nbMembre : membreForum ) { std::cout << "Bonjour ! \n"; }