Outils pour utilisateurs

Outils du site


fr:actionaz_qtscript

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:actionaz_qtscript [2014/11/03 18:16] – Relecture et ajout de commentaires violettefr:actionaz_qtscript [2025/05/07 16:33] (Version actuelle) potdemiel
Ligne 341: Ligne 341:
  
 Il y a peut être moyen de faire ça sans tableau, mais encore une fois il n'y a pas de doc pour QtScript donc beaucoup de choses partagés ici sont des choses que j'ai trouvé en testant, à tâtons, et là j'ai pas trouvé d'autres solutions :p.  Il y a peut être moyen de faire ça sans tableau, mais encore une fois il n'y a pas de doc pour QtScript donc beaucoup de choses partagés ici sont des choses que j'ai trouvé en testant, à tâtons, et là j'ai pas trouvé d'autres solutions :p. 
 +
 +Juste pour montrer une méthode pour passer des paramètres avec connect()
 +
 +<code javascript>
 +function main() {
 + var a = new QDialog();
 + var b = new QPushButton("Coucou", a);
 +
 + var c = new QDialog(a);
 + var d = new QPushButton("Barre toi", c);
 +
 +  b.clicked.connect(function(){show(c,"pouet")}); //clicked est un signal emis par le premier QPushButton qui execute la fonction show, il envoie le QDialog c en paramètre pour qu'il puisse être montré par la fonction
 +
 + 
 + d.clicked.connect(c, hide); //clicked est un signal emis par le deuxième QPushButton qui execute la fonction hide, il envoie le QDialog c en paramètre pour qu'il puisse être caché par la fonction
 + 
 + a.exec();
 +}
 + 
 +function show(lthis,test)
 +   {
 +       Console.print(test);  // a chaque appui sur le bouton "Coucou" la console affiche "pouet"
 +       lthis.show();         // lthis récupère le c passé en paramètre pour ouvrir la seconde fenêtre
 + }
 +
 +function hide() {
 + this.hide();
 +}
 +
 +main();
 +</code>
  
 Il est possible de créer ses propres signaux et slots, mais je ne me suis pas penché sur la question. Il est possible de créer ses propres signaux et slots, mais je ne me suis pas penché sur la question.
Ligne 615: Ligne 646:
 La variable link est une chaine de caractère qui contient le lien activé. La variable link est une chaine de caractère qui contient le lien activé.
  
-Ok, si c'est juste pour ouvrir l'URL que vous avez mis dans le lien, le premier code suffit, mais si vous avez un esprit machiavélique, je vous laissé réfléchier à ce que ce code pourrait vous servir :p !+Ok, si c'est juste pour ouvrir l'URL que vous avez mis dans le lien, le premier code suffit, mais si vous avez un esprit machiavélique, je vous laisse réfléchir à la meilleur utilisation de ce code :p !
  
 Ceci dit, Actiona est aussi là pour vous soulager dans cette dur et noble tâche (l'ouverture d'un lien dans un nouvel onglet du navigateur par défault), je vous laisse chercher sur le wiki le code héhé =). Ceci dit, Actiona est aussi là pour vous soulager dans cette dur et noble tâche (l'ouverture d'un lien dans un nouvel onglet du navigateur par défault), je vous laisse chercher sur le wiki le code héhé =).
Ligne 626: Ligne 657:
  
 var layout = new QFormLayout(); //Vous connaissez la chanson var layout = new QFormLayout(); //Vous connaissez la chanson
-a.setLayout(layout); /Lalalah+a.setLayout(layout); //Lalalah
  
 var b = new QLabel(); var b = new QLabel();
Ligne 639: Ligne 670:
  
 Ici, rien de bien nouveau, ormis qu'au lieu d'attribuer du texte au QLabel avec setText, on attribut une image avec setPixmap, setPixmap attendant un objet QPixmap en paramètre. Ici, rien de bien nouveau, ormis qu'au lieu d'attribuer du texte au QLabel avec setText, on attribut une image avec setPixmap, setPixmap attendant un objet QPixmap en paramètre.
 +
 +== image animé (GIF) ==
 +
 +<code javascript>
 +var a = new QDialog();
 +a.setWindowTitle("Les gifs, c'est la vie !"); //Attribution d'un titre à la fenêtre
 +
 +var layout = new QFormLayout(); //Création du layout
 +a.setLayout(layout); //Attribution du layout à l'objet QDialog
 +
 +var b = new QLabel(); //Création d'un QLabel
 +var c = new QMovie("charmander.gif") //Création d'un objet QMovie
 +b.setMovie(c); //On attribut le QMovie au QLabel
 +
 +c.start(); //Lecture du gif
 +
 +layout.addRow(b); //On ajoute l'objet QLabel dans le layout
 +
 +a.exec();
 +</code>
 +
 +Pour ajouter un gif dans un QLabel, il faut utiliser la méthode setMovie, qui attend un objet QMovie en paramètre, lui même attendant le chemin du gif que vous voulez lire.
 +
 +Ensuite il faut démarrer la lecture du gif avec la méthode start() appliqué au QMovie.
 +
 +Il est possible de contrôler la lecture du gif avec certaines méthodes comme :
 +
 +  * **start** : Elle affiche et lance la lecture du gif. Il faut savoir que sans cette méthode le gif ne s'affichera pas
 +  * **stop** : Elle stop la lecture du gif, si start est lancé ensuite, le gif reprendra depuis le débuts
 +  * **setPaused** //(true|false)// : Pour mettre en pause la lecture du gif, il attend 1 paramètre, true pour mettre la pause, false pour l'enlever, il est aussi possible de faire redémarrer la lecture avec la méthode start
 +  * **jumpToFrame** //(int)// : Pour changer la frame affichée, retourne true si succès, sinon retourne false
 +  * **jumpToNextFrame** : Pour passer à la frame suivante, retourne true si succès, sinon retourne false
 +
 +Il est possible de régler la vitesse de lecture avec la propriété speed
 +
 +<code javascript>
 +c.speed = 200; //x2
 +</code>
 +
 +<note important>Il est aparement possible de définir le nombre de fois que le gif va se lire car une méthode permet de récupérer ce chiffre (loopCount()), cependant je ne trouve pas la propriété qui permet de définir ce nombre é_è. Apparement présent dans l'objet QAbstractAnimation :S
 +</note>
 +
 +Il est cependant possible de récupérer ce nombre grâce au signal finished, qui est émis lorsque le gif est terminé.
 +
 +Les différents signaux :
 +  
 +<code javascript>
 + //Récapitulatif, utilisation signal stateChanged (bouton pause/lecture) et finished (incrément nb loop, affichage du nombre dans un QLabel)
 +</code>
  
 <note important>Ceci est loin d'être terminé mais j'avance lentement, lentement mais surement !!!!!</note> <note important>Ceci est loin d'être terminé mais j'avance lentement, lentement mais surement !!!!!</note>
fr/actionaz_qtscript.1415038618.txt.gz · Dernière modification : 2021/02/13 11:23 (modification externe)