Qt Signaux

Vous voulez de l'aide ? Postez ici :)
Post Reply
Sergent-Quentin
Posts: 274
Joined: 11 Jun 2014, 14:45

Qt Signaux

Post by Sergent-Quentin »

Bonjour,

Je travail sur les signaux et je bloque sur certains, j'ai mis ceux auxquels je bloque (rouge) en première liste avec un code d'exemple, ainsi que ceux dont je ne bloque pas (vert) si certains en ont besoin :
Ceci est grâce au tuto de Violette : https://wiki.actiona.tools/doku.php?id= ... z_qtscript

QComboBox : http://doc.qt.io/qt-4.8/qcombobox.html

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Champ = new QComboBox();
Champ.addItem("Item 1");
Champ.addItem("Item 2");
Champ.addItem("Item 3");
layout.addRow(Champ);

Fenetre.setLayout(layout);

Fenetre.exec();
QSpinBox : http://doc.qt.io/qt-4.8/qspinbox.html

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Champ = new QSpinBox();
layout.addRow(Champ);

Fenetre.setLayout(layout);

Fenetre.exec();
QPushButton : http://doc.qt.io/qt-4.8/qpushbutton.html

Code: Select all

var Fenetre = new QDialog();

var Bouton = new QPushButton("Clique moi", Fenetre);

Bouton.clicked.connect(function() {   
Console.print("Vous avez cliqué sur le bouton");
});

Fenetre.exec();
QCheckBox : http://doc.qt.io/qt-4.8/qcheckbox.html

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Case = new QCheckBox("Coche ou décoche moi");
layout.addRow(Case);
 
Fenetre.setLayout(layout);

Case.clicked.connect(function () {
Console.print("Vous avez coché ou décoché la case");
});

Fenetre.exec();
QRadioButton : http://doc.qt.io/qt-4.8/qradiobutton.html

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Radio = new QRadioButton("Coche ou décoche moi");
layout.addRow(Radio);
 
Fenetre.setLayout(layout);
 
Radio.clicked.connect(function () {
Console.print("Vous avez cocher ou décoché le radio bouton");
});

Fenetre.exec();
QListWidget : http://doc.qt.io/qt-4.8/qlistwidget.html

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Liste = new QListWidget;
Liste.addItem("Samsung");
Liste.addItem("Iphone");
Liste.addItem("Nokia");
layout.addRow(Liste);

Fenetre.setLayout(layout);

Liste.clicked.connect(function() {   
Console.print("Vous avez cliqué sur ", Liste.currentItem().text());
});

Fenetre.exec();
QLineEdit : http://doc.qt.io/qt-4.8/qlineedit.html

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Champ = new QLineEdit();
layout.addRow(Champ);

Fenetre.setLayout(layout);

Champ.textChanged.connect(function() {   
Console.print(Champ.text);
});

Fenetre.exec();
QTextEdit : http://doc.qt.io/qt-4.8/qtextedit.html

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Champ = new QTextEdit();
layout.addRow(Champ);

Fenetre.setLayout(layout);

Champ.textChanged.connect(function() {   
Console.print(Champ.plainText);
});

Fenetre.exec();
Voilà tout pour le moment, si j'en ai d'autres je les ajouterais au fur et à mesure ^^, je vous remercie pour votre aide.

Cordialement

Sergent-Quentin
Sergent-Quentin
Posts: 274
Joined: 11 Jun 2014, 14:45

Re: Qt Signaux

Post by Sergent-Quentin »

Up, besoin d'aide pour QComboBox et QSpinBox svp :(

Cordialement

Sergent-Quentin
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Qt Signaux

Post by Jmgr »

Quels sont les signaux que tu essaie d'utiliser ?
"My software never has bugs. It just develops random features."
Sergent-Quentin
Posts: 274
Joined: 11 Jun 2014, 14:45

Re: Qt Signaux

Post by Sergent-Quentin »

Pour QComboBox : currentIndexChanged(int index)
http://doc.qt.io/qt-4.8/qcombobox.html# ... Index-prop

Normalement quand je change d'item ça devrait activer le signal.

Pour QSpinBox : valueChanged(int i)
http://doc.qt.io/qt-4.8/qspinbox.html#value-prop

Même chose quand on change la valeur.

Merci

Cordialement

Sergent-Quentin
User avatar
Jmgr
Admin
Posts: 1651
Joined: 07 Dec 2005, 15:45
Contact:

Re: Qt Signaux

Post by Jmgr »

J'ai l'impression que dans les deux cas le problème vient du fait qu'il existe deux signaux avec le même nom. Ils ne diffèrent que par le type du paramètre.

Je ne peux pas tester ici (suis en vacances au ski), mais comment fais-tu pour connecter les signaux ?

Normalement un truc comme ça devrait fonctionner :

Code: Select all

var Fenetre = new QDialog();

var layout = new QFormLayout(Fenetre);

var Champ = new QComboBox();
Champ.addItem("Item 1");
Champ.addItem("Item 2");
Champ.addItem("Item 3");
layout.addRow(Champ);

Champ.currentIndexChanged.connect(function(param) {   
Console.print("L'index a changé : " + param);
});

Fenetre.setLayout(layout);

Fenetre.exec();
"My software never has bugs. It just develops random features."
Sergent-Quentin
Posts: 274
Joined: 11 Jun 2014, 14:45

Re: Qt Signaux

Post by Sergent-Quentin »

Salut,
Jmgr wrote:J'ai l'impression que dans les deux cas le problème vient du fait qu'il existe deux signaux avec le même nom. Ils ne diffèrent que par le type du paramètre.
Oui, c'est ça que je n'arrive pas à trouver ^^, tiens je pense que ça pourrait peut-être t'aider : http://www.codeprogress.com/cpp/librari ... Change.php.
Jmgr wrote:Je ne peux pas tester ici (suis en vacances au ski)
Je vois qu'il y en a qui s'amusent :p
Jmgr wrote:mais comment fais-tu pour connecter les signaux ?
La question est simple mais j'ai pas bien compris ce tu demandais exactement ? ^^

Pour ton code il ne fonctionne malheureusement pas :( mais sinon la façon dont tu as écrit le signal est bon mais je crois pas que ça répond à ta question ?
Erreur.png
Erreur.png (5.45 KiB) Viewed 2909 times
Merci pour ton aide.

Passe de bonnes vacances :p

Cordialement

Sergent-Quentin
Fredy123
Posts: 163
Joined: 15 Jun 2011, 23:07

Re: Qt Signaux

Post by Fredy123 »

Bonjour,

Est-ce qu'une personne par hasard serait en mesure de faire fonctionner les signaux avec QComboBox sur Actiona ? J'ai tout tenté avec mes minces connaissances mais je n'y arrive pas.

Merci !
Post Reply