PDA

Afficher la version complète : [Réglé] Ayet ça commence à buguer



atlas
31/10/2004, 13h23
Salux !

Je recommence une autre approche donc qt-designer et son premier tuto "metric conversion"
voir commande "designer" ensuite menu /help/manual/qtdesigner/quick start

"Celui qui trébuche fait un gra

atlas
31/10/2004, 13h27
nd pas" ; enfin bon moi , je m'étale ... (sciouze le post est parti tout seul) http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

Voici le bug à la compilation

<div class='quotetop'>Citation </div>
linux:/home/atlas/Metric # qmake -o Makefile metric.pro
Error processing project file: /home/atlas/Metric/metric.pro
linux:/home/atlas/Metric # qmake -o Makefile Metric.pro
linux:/home/atlas/Metric # make
g++ -c -pipe -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -fPIC -Wall -W -O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -fPIC -DQT_NO_DEBUG -DQT_SH ARED -DQT_TABLET_SUPPORT -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I/usr/include -I/usr/lib/qt3/include -I.ui/ -I. -I.moc/ -o .obj/ConversionForm. o .ui/ConversionForm.cpp
In file included from .ui/ConversionForm.cpp:24:
ConversionForm.ui.h: In member function `virtual void ConversionForm::convert()' :
ConversionForm.ui.h:27: error: `numberLineEdit' undeclared (first use this funct ion)
ConversionForm.ui.h:27: error: (Each undeclared identifier is reported only once for each function it appears in.)
ConversionForm.ui.h:31: error: `fromComboBox' undeclared (first use this functio n)
ConversionForm.ui.h:46: error: `toComboBox' undeclared (first use this function)
ConversionForm.ui.h:59: error: `decimalsSpinBox' undeclared (first use this func tion)
ConversionForm.ui.h:60: error: `resultLineEdit' undeclared (first use this funct ion)
make: *** [.obj/ConversionForm.o] Erreur 1
linux:/home/atlas/Metric #[/b]

Neolinux
31/10/2004, 14h15
Salux !

Tu peux éditer ton message pour le reprendre là où tu en étais. http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

atlas
31/10/2004, 14h32
J'en suis à la fin du tuto "Metric Conversion" dans Qt designer .Je pense avoir correctement inséré la fonction init .
Voici ce que j'aie fait dans le fichier ConversionForm.ui.h

<div class='quotetop'>Citation </div>
/************************************************** **************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you wish to add, delete or rename functions or slots use
** Qt Designer which will update this file, preserving your code. Create an
** init() function in place of a constructor, and a destroy() function in
** place of a destructor.
************************************************** ***************************/


void ConversionForm::convert()
{
enum MetricUnits {
Kilometers,
Meters,
Centimeters,
Millimeters
};
enum OldUnits {
Miles,
Yards,
Feet,
Inches
};

// Retrieve the input
double input = numberLineEdit->text().toDouble();
double scaledInput = input;

// internally convert the input to millimeters
switch ( fromComboBox->currentItem() ) {
case Kilometers:
scaledInput *= 1000000;
break;
case Meters:
scaledInput *= 1000;
break;
case Centimeters:
scaledInput *= 10;
break;
}

//convert to inches
double result = scaledInput * 0.0393701;

switch ( toComboBox->currentItem() ) {
case Miles:
result /= 63360;
break;
case Yards:
result /= 36;
break;
case Feet:
result /= 12;
break;
}

// set the result
int decimals = decimalsSpinBox->value();
resultLineEdit->setText( QString::number( result, 'f', decimals ) );
numberLineEdit->setText( QString::number( input, 'f', decimals ) );
}

#include <qvalidator.h> /* ici je suis pas sur */

void ConversionForm::init()
{
numberLineEdit->setValidator( new QDoubleValidator( numberLineEdit ) );
numberLineEdit->setText( "10" );
convert();
numberLineEdit->selectAll();
}[/b]

Apres ça j'ai compilé mais j'obtiens le message d'erreur ci-dessus dans la console ...

molodoi
31/10/2004, 16h53
tu utilises des méthodes qui ne sont déclarées nulle part dans ta classe.

Y faudrait pas inclure un autre fichier?

atlas
31/10/2004, 17h48
Yes QT dessigner a l'air de me dire lmui-même au démarrage mais c'est pas clair because je sais ce que c'est qu'un constructor .
Apparemment , je n'aurais pas calé la fonction init() dnas le bon fichier .

<div class='quotetop'>Citation </div>
/************************************************** **************************
** ui.h extension file, included from the uic-generated form implementation.
**
** If you wish to add, delete or rename functions or slots use
** Qt Designer which will update this file, preserving your code. Create an
** init() function in place of a constructor, and a destroy() function in
** place of a destructor.
************************************************** ***************************/[/b]

atlas
31/10/2004, 18h08
Une vieille méthode résoudre petits problème par petit problème .Au bout d'un moment , l'ensemble doit se décoincer

En l'occurence comment ajouter

#include <qvalidator.h>

dans ma déclaration de classe ?Dans quelle fenetre s'effectue ce travail ?

atlas
31/10/2004, 18h24
Je dirais qu'il faudrait mettre #include <qvalidator.h>
dnas le fichier main mais je suis pas sur .

atlas
31/10/2004, 21h50
Une info qui mérite d'être signalée , j'avais trouvée en premier le site traitant de qt designer en anglais .

Puis j'aie trouvé mieux .Faites un saut sur ce site français relativement récent traitant de Qt

Prog Qt (http://prog.qt.free.fr/portal.php)

Concernant la création de fichiers .cpp et .hpp comme Lucien me l'avait suggéré .
Ça se décoince .En fait il faut utiliser la commande uic (Fallait le deviner ...) .J'aie pas encore reussi mais ça ne saurait tarder .

Je m'en vaie les asticoter un peu sur ce site .Because faut reconnaitre que j'aie explosé le compteur de post sur Alionet .Je dois être limite ch@!§£$kff* .

atlas
01/11/2004, 23h02
[réglé] Ok je clos le topic et j'attend de la lecture sur la technologie Qt3 .J'espère que ce sera plus clair que sur les tutos on line

@+