Page 1 of 1

Affichage de la console par demande

Posted: 04 Oct 2014, 15:05
by Sergent-Quentin
Bonjour à tous

L'action "Console" est un élément pratique pour voir ce qu'on fait ou autres durant l’exécution du script :)
( Ont peut aussi écrire dans la console avec du code : :arrow: Console.print("Ton texte");

Je sais que pour l'afficher il suffit d'aller dans outils-->options.

Mais ce que je cherche à faire ça serait de l'afficher lorsque l'utilisateur le demande :)

Exemple :

- Liste de sélection
- L'utilisateur fait un choix
- Si le choix correspond à tel mot ( if, else if), la console s'ouvre
- Idem pour fermer la console

Ce système permettrait d'avoir les infos en direct ( sinon j'aurai utiliser l'action "ecriture fichier texte" :evil: ainsi qu'afficher la console en cas de besoin et de l'enlever quand ça gêne :)

Merci pour vos réponses :)

Cordialement

Re: Affichage de la console par demande

Posted: 05 Oct 2014, 01:05
by Violette
Ben en fait, la console a pour unique but le debug donc elle ne peut pas être utilisé pour ceci.
Néanmoins, tu peux faire ce que tu souhaites avec un QDialog et un Qlabel.

Tu peux modifier le contenu d'un QLabel déjà affiché, petit exemple tout bête.

Code: Select all

var a = new QDialog();

var layout = new QFormLayout();
a.setLayout(layout);

var b = new QLabel("Salut");
var c = new QPushButton("Cass'Toa Pov'Kon");

var etape = 0;

c.clicked.connect(function() {
	if (etape === 0) {
		etape++;
		b.setText("Ok, sniff");
		c.text = "Nan, je dec' ^^";
	} else {
		etape = 0;
		b.setText("Salut");
		c.text = "Cass'Toa Pov'Kon";
	}
});

layout.addRow(b);
layout.addRow(c);

a.exec();
Un deuxième :

Code: Select all

var a = new QDialog();

var layout = new QFormLayout();
a.setLayout(layout);

var compteur = 0;

var b = new QLabel(compteur + "...", 0, 0);
b.minimumWidth = 200;
b.maximumWidth = 200;
b.wordWrap = true;

var c = new QPushButton("+ 1");
var d = new QPushButton("Remettre a 0");

c.clicked.connect(function() {
	compteur++;
	b.setText(b.text += " " + compteur + "...");
	a.adjustSize();
});

d.clicked.connect(function() {
	compteur = 0;
	b.setText(compteur + "...");
	a.adjustSize();
});

layout.addRow(b);
layout.addRow(c);
layout.addRow(d);

a.exec();

Re: Affichage de la console par demande

Posted: 06 Oct 2014, 16:34
by Jmgr
C'est quelque chose qui a été développé par Niconil (https://github.com/niconil/actionaz/com ... fe56524115) mais jamais intégré, de mémoire il manquait certaines choses pour que je l'intègre et ça n'a jamais été terminé. Du coup s'il y a un besoin je peux ajouter ça à ma todolist.

Re: Affichage de la console par demande

Posted: 08 Oct 2014, 16:59
by Sergent-Quentin
@ Violette :

Merci de m'avoir répondu, par contre je n'arrive pas à appliquer ton code :(

Comment on fait le fonctionner ? Je l'ai tester dans une action code mais cela ne fonctionnait pas :(

@ Jmgr :
Jmgr wrote:C'est quelque chose qui a été développé par Niconil (https://github.com/niconil/actionaz/com ... fe56524115) mais jamais intégré, de mémoire il manquait certaines choses pour que je l'intègre et ça n'a jamais été terminé. Du coup s'il y a un besoin je peux ajouter ça à ma todolist.
Comme tu veux :) mais ce n'est pas urgent :D

Merci :)

Re: Affichage de la console par demande

Posted: 08 Oct 2014, 18:56
by Violette
Ben dans une action code, tu le copie colle et t’exécutes, met le dans un fichier ascr vierge. Chez moi le script fonctionne, t'as un message d'erreur ou... ?

Re: Affichage de la console par demande

Posted: 08 Oct 2014, 22:07
by Sergent-Quentin
Oui, c'est que j'avais fait, j'ai testé les 2 codes et un message d'erreur apparaît :

ReferenceError: Can't fin variable: QDialog

Re: Affichage de la console par demande

Posted: 08 Oct 2014, 23:03
by Violette
http://jmgr.net/forum/viewtopic.php?f=30&t=1274

Test avec la version 3.7 ou attend la future version, il me semble avoir lu que Jmgr avais réglé ce soucis. Pas d'autres solutions.

Re: Affichage de la console par demande

Posted: 08 Oct 2014, 23:23
by Sergent-Quentin
J'attendrai la future version ^^

je met ton code en attente

Merci pour ton aide :)