[JAVASCRIPT] Affichage d'éléments dans des InputDialog

N'hésitez pas à poster si vous avez une idée d'amélioration du programme
Post Reply
JohnConnor
Posts: 8
Joined: 27 Jun 2013, 23:07

[JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by JohnConnor »

Bonjour,

Je voudrais demander si il était possible d'ajouter un paramètres aux InputDialog, celui de la présentation. Je m'explique :

Dans l'action d'Actionaz "Liste de Sélection", on peut choisir différent modes comme "Cases à Cocher", "Boutons Radios", "Liste", etc..
Mais les modes que je viens de citer sont impossibles - à ma connaissance - à créer en Javascript, je voudrais donc savoir si vous pouviez ajouter une Enumeration "InputMode" ou quelque chose du genre pour pouvoir le faire :)

Merci d'avance et bonne soirée
User avatar
Jmgr
Admin
Posts: 1649
Joined: 07 Dec 2005, 15:45
Contact:

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by Jmgr »

Salut,

Bonne remarque. En fait c'est possible, mais c'est assez compliqué.
Actionaz intègre la majorité de l'API de Qt, ce qui veut dire que tu peux créer une fenêtre contenant ce que tu veux uniquement en utilisant du Javascript.
Le seul problème c'est qu'il n'y a aucun exemple de ce genre d'utilisation dans le Wiki.

En tous cas il serait bien d'avoir cette fonctionnalité plus simplement. Bonne idée, merci.
"My software never has bugs. It just develops random features."
JohnConnor
Posts: 8
Joined: 27 Jun 2013, 23:07

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by JohnConnor »

D'accord, et bien merci, j'avais un peu regardé le code C++ des InputDialog mais pas assez pour voir ça, je vais m'y attelez et poster un code d'exemple dès que possible ! :p
User avatar
Jmgr
Admin
Posts: 1649
Joined: 07 Dec 2005, 15:45
Contact:

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by Jmgr »

Et voilà un exemple :

Code: Select all

var dialog = new QDialog();
dialog.setWindowTitle("Ma fenêtre");
var mainLayout = new QFormLayout();
dialog.setLayout(mainLayout);

var lineEdit = new QLineEdit(dialog);
var comboBox = new QComboBox(dialog);
comboBox.addItem("Un");
comboBox.addItem("Deux");
comboBox.setCurrentIndex(0);
var buttonBox = new QDialogButtonBox(dialog);
buttonBox.addButton(QDialogButtonBox.Ok);
buttonBox.addButton(QDialogButtonBox.Cancel);

mainLayout.addRow("Champ 1", lineEdit);
mainLayout.addRow("Champ 2", comboBox);
mainLayout.addRow(buttonBox);

buttonBox.accepted.connect(dialog.accept);
buttonBox.rejected.connect(dialog.reject);

if(dialog.exec())
{
	Console.print("Champ1 = " + lineEdit.text);
	Console.print("Champ2 = " + comboBox.currentText);
}
Ce n'est pas trivial, mais ça permet de faire beaucoup de choses :)
"My software never has bugs. It just develops random features."
JohnConnor
Posts: 8
Joined: 27 Jun 2013, 23:07

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by JohnConnor »

Merci beaucoup ! :D
Par contre je voudrais savoir si il était possible de retourner un Array du résultat de la fenêtre ? :)
User avatar
Jmgr
Admin
Posts: 1649
Joined: 07 Dec 2005, 15:45
Contact:

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by Jmgr »

Note que le code d'exemple que j'ai posté n'utilise pas InputDialog, c'est justement un exemple qui illustre le fait d'utiliser l'API de Qt pour construire une fenêtre.
Par contre je voudrais savoir si il était possible de retourner un Array du résultat de la fenêtre ? :)
Si tu parles de InputDialog, alors oui, normalement si tu sélectionne plusieurs éléments alors la valeur retournée est un tableau.
Sinon dans l'exemple précédent il te suffit de créer un tableau et d'insérer la valeur des champ directement.
Ou alors je n'ai pas compris ta question ?
"My software never has bugs. It just develops random features."
JohnConnor
Posts: 8
Joined: 27 Jun 2013, 23:07

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by JohnConnor »

Et bien si j'ai bien lu le code des QInputDialog, on ne peut pas faire de QCheckBox pour une liste d'éléments, donc en théorie on ne peut pas retourner de tableau dans le window.value();
User avatar
Jmgr
Admin
Posts: 1649
Joined: 07 Dec 2005, 15:45
Contact:

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by Jmgr »

Non en effet. C'est pour ça que tu va devoir créer toi même ta fenêtre, comme dans l'exemple que j'ai posté au dessus. (qui n'utilise ni InputDialog fourni par Actionaz, ni QInputDialog fourni par Qt)
"My software never has bugs. It just develops random features."
JohnConnor
Posts: 8
Joined: 27 Jun 2013, 23:07

Re: [JAVASCRIPT] Affichage d'éléments dans des InputDialog

Post by JohnConnor »

Okay, merci :)
Post Reply