fr:actionaz_qtscript
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:actionaz_qtscript [2014/10/17 20:05] – violette | fr:actionaz_qtscript [2025/05/07 16:33] (Version actuelle) – potdemiel | ||
---|---|---|---|
Ligne 89: | Ligne 89: | ||
== Les communes == | == Les communes == | ||
- | Ceci n'est pas une liste exhaustive, je vous renvoie ici pour avoir la liste détaillé. | + | Ceci n'est pas une liste exhaustive, je vous renvoie |
* **cursor** : Propriété qui permet de choisir le curseur qui doit s' | * **cursor** : Propriété qui permet de choisir le curseur qui doit s' | ||
Ligne 133: | Ligne 133: | ||
<note important> | <note important> | ||
- | Autre solution pour ne modifier que la hauteur ou la largeur... Ou les 2, qui fonctionne, que le widget | + | Autre solution pour ne modifier que la hauteur ou la largeur... Ou les 2, qui fonctionne, que le widget |
<code javascript> | <code javascript> | ||
Ligne 142: | Ligne 142: | ||
b.maximumWidth = 200; | b.maximumWidth = 200; | ||
- | b.minimumWidth | + | b.minimumHeight |
- | b.maximumWidth | + | b.maximumHeight |
b.minimumSize = new QSize(200, 200); //Pour modifier la largeur et la hauteur | b.minimumSize = new QSize(200, 200); //Pour modifier la largeur et la hauteur | ||
Ligne 183: | Ligne 183: | ||
Ici, le premier paramètre envoyé à l' | Ici, le premier paramètre envoyé à l' | ||
+ | |||
+ | Exemple de flag : | ||
+ | |||
+ | * Qt.WindowTitleHint : Permet d' | ||
+ | * Qt.MSWindowsFixedSizeDialogHint : Permet de fixer la taille de la fenêtre à la taille spécifiée dans sizeHint (En gros, cela fixe la taille de la fenêtre, elle n'est plus redimensionnable). | ||
<note important> | <note important> | ||
Ligne 208: | Ligne 213: | ||
J'ai essayer pleins de syntaxes différentes pour le QDialog mais je n'ai rien trouvé de concluant. | J'ai essayer pleins de syntaxes différentes pour le QDialog mais je n'ai rien trouvé de concluant. | ||
- | Exemple de flag : | ||
- | |||
- | * Qt.WindowTitleHint : Permet d' | ||
- | * Qt.MSWindowsFixedSizeDialogHint : Permet de fixer la taille de la fenêtre à la taille spécifiée dans sizeHint (En gros, cela fixe la taille de la fenêtre, elle n'est plus redimensionnable). | ||
* Qt.Tool : Permet d' | * Qt.Tool : Permet d' | ||
Ligne 268: | Ligne 269: | ||
b.addButton(QDialogButtonBox.Cancel); | b.addButton(QDialogButtonBox.Cancel); | ||
- | b.accepted.connect(a.accept); | + | b.accepted.connect(a.accept); |
- | b.rejected.connect(a.reject); | + | b.rejected.connect(a.reject); |
a.exec(); | a.exec(); | ||
Ligne 297: | Ligne 298: | ||
var d = new QPushButton(" | var d = new QPushButton(" | ||
- | b.clicked.connect(function () { | + | b.clicked.connect(function () { //clicked est un signal emis par le premier QPushButton qui execute une fonction anonyme |
c.show(); | c.show(); | ||
}); | }); | ||
- | d.clicked.connect(function () { | + | d.clicked.connect(function () { //clicked est un signal emis par le deuxième QPushButton qui execute une fonction anonyme |
c.hide(); | c.hide(); | ||
}); | }); | ||
Ligne 319: | Ligne 320: | ||
var d = new QPushButton(" | var d = new QPushButton(" | ||
- | b.clicked.connect(c, | + | b.clicked.connect(c, |
- | d.clicked.connect(c, | + | d.clicked.connect(c, |
a.exec(); | a.exec(); | ||
Ligne 340: | 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' | 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' | ||
+ | |||
+ | 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(" | ||
+ | |||
+ | var c = new QDialog(a); | ||
+ | var d = new QPushButton(" | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | d.clicked.connect(c, | ||
+ | |||
+ | a.exec(); | ||
+ | } | ||
+ | |||
+ | function show(lthis, | ||
+ | { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | function hide() { | ||
+ | this.hide(); | ||
+ | } | ||
+ | |||
+ | main(); | ||
+ | </ | ||
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 452: | Ligne 484: | ||
d.setCheckState(Qt.Checked); | d.setCheckState(Qt.Checked); | ||
- | Console.print(b.checkState()); | + | Console.print(b.checkState()); |
Console.print(c.checkState()); | Console.print(c.checkState()); | ||
Console.print(d.checkState()); | Console.print(d.checkState()); | ||
Ligne 475: | Ligne 507: | ||
<code javascript> | <code javascript> | ||
var a = new QDialog(); | var a = new QDialog(); | ||
- | var layout = new QFormLayout(); | + | var layout = new QFormLayout(); |
- | a.setLayout(layout); | + | a.setLayout(layout); |
- | var tabIntRadio = [" | + | var tabIntRadio = [" |
- | var tabRadio = []; | + | var tabRadio = []; //Tableau les objets QRadioButton |
- | for (var i = 0; i < tabIntRadio.length; | + | for (var i = 0; i < tabIntRadio.length; |
- | tabRadio[i] = new QRadioButton(tabIntRadio[i]); | + | tabRadio[i] = new QRadioButton(tabIntRadio[i]); |
- | layout.addRow(tabRadio[i]); | + | layout.addRow(tabRadio[i]); |
- | tabRadio[i].toggled.connect(tabRadio[i], | + | tabRadio[i].toggled.connect(tabRadio[i], |
if (this.checked === true) | if (this.checked === true) | ||
Console.print(this.text); | Console.print(this.text); | ||
Ligne 500: | Ligne 532: | ||
== Signaux == | == Signaux == | ||
- | L' | + | Il y a le signal toggled, plus les signaux qu'il hérite de QWidget, comme clicked |
== Groupe de radiobutton == | == Groupe de radiobutton == | ||
Ligne 517: | Ligne 549: | ||
var a = new QDialog(); | var a = new QDialog(); | ||
- | var layout = new QFormLayout(); | + | var layout = new QFormLayout(); |
- | a.setLayout(layout); | + | a.setLayout(layout); |
var b = new QLabel(" | var b = new QLabel(" | ||
b.setText(b.text + " world" | b.setText(b.text + " world" | ||
- | b.minimumSize = new QSize(500, 500); | + | b.minimumSize = new QSize(500, 500); //Gestion de sa taille, attention il est contenu dans un layout |
b.maximumSize = new QSize(500, 500); | b.maximumSize = new QSize(500, 500); | ||
- | b.alignment = Qt.AlignBottom | Qt.AlignRight; | + | b.alignment = Qt.AlignBottom | Qt.AlignRight; |
- | b.textInteractionFlags = Qt.TextSelectableByMouse; | + | b.textInteractionFlags = Qt.TextSelectableByMouse; |
- | layout.addRow(b); | + | layout.addRow(b); |
a.exec(); | a.exec(); | ||
Ligne 568: | Ligne 600: | ||
var a = new QDialog(); | var a = new QDialog(); | ||
- | var layout = new QFormLayout(); | + | var layout = new QFormLayout(); |
- | a.setLayout(layout); | + | a.setLayout(layout); |
- | var b = new QLabel(); | + | var b = new QLabel(); |
- | b.setText("< | + | b.setText("< |
- | layout.addRow(b); | + | layout.addRow(b); |
a.exec(); | a.exec(); | ||
Ligne 604: | Ligne 636: | ||
<code javascript> | <code javascript> | ||
- | b.linkActivated.connect(function(link) { | + | b.linkActivated.connect(function(link) { //Le signal linkActivated est émis lors de l' |
- | var a = QDesktopServices; | + | var a = QDesktopServices; |
- | a.openUrl(new QUrl(link)); | + | a.openUrl(new QUrl(link)); |
}); | }); | ||
</ | </ | ||
Ligne 612: | Ligne 644: | ||
Ou comme ça aussi =) | Ou comme ça aussi =) | ||
- | Ok, si c'est juste pour ouvrir l'URL que vous avez mis dans le lien, le premier code suffit, mais si par exemple vous voulez troll vos utilisateurs, | + | La variable link est une chaine de caractère qui contient |
- | Ceci dit, Actiona est aussi là pour vous soulager dans cette dur tâche, je vous laisse chercher sur le wiki le code qui permet | + | 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, |
+ | |||
+ | Ceci dit, Actiona est aussi là pour vous soulager dans cette dur et noble tâche | ||
== Image == | == Image == | ||
Ligne 620: | Ligne 654: | ||
<code javascript> | <code javascript> | ||
var a = new QDialog(); | var a = new QDialog(); | ||
- | a.setWindowTitle(" | + | a.setWindowTitle(" |
- | var layout = new QFormLayout(); | + | var layout = new QFormLayout(); |
- | a.setLayout(layout); | + | a.setLayout(layout); |
var b = new QLabel(); | var b = new QLabel(); | ||
- | b.setPixmap(new QPixmap(" | + | b.setPixmap(new QPixmap(" |
- | layout.addRow(b); | + | layout.addRow(b); |
a.exec(); | a.exec(); | ||
Ligne 634: | Ligne 668: | ||
{{ : | {{ : | ||
+ | |||
+ | Ici, rien de bien nouveau, ormis qu'au lieu d' | ||
+ | |||
+ | == image animé (GIF) == | ||
+ | |||
+ | <code javascript> | ||
+ | var a = new QDialog(); | ||
+ | a.setWindowTitle(" | ||
+ | |||
+ | var layout = new QFormLayout(); | ||
+ | a.setLayout(layout); | ||
+ | |||
+ | var b = new QLabel(); //Création d'un QLabel | ||
+ | var c = new QMovie(" | ||
+ | b.setMovie(c); | ||
+ | |||
+ | c.start(); //Lecture du gif | ||
+ | |||
+ | layout.addRow(b); | ||
+ | |||
+ | a.exec(); | ||
+ | </ | ||
+ | |||
+ | 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' | ||
+ | * **stop** : Elle stop la lecture du gif, si start est lancé ensuite, le gif reprendra depuis le débuts | ||
+ | * **setPaused** // | ||
+ | * **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 | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | </ | ||
+ | |||
+ | 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> | ||
+ | // | ||
+ | </ | ||
<note important> | <note important> |
fr/actionaz_qtscript.1413576317.txt.gz · Dernière modification : 2021/02/13 11:23 (modification externe)