Bonjour,
Je reviens une nouvelle fois quérir votre précieuse aide en tout homme perdu que je suis.
Voici mon problème, j'ai connecté mon bouton 'save' à une fenetre contenant des QLineEdit, le but est d'enregistrer les données écrire par l'utilisateur dans la database, mais la valeur récupérée est tout le temps NULL.
voici du code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void FenetrePrinc::ouvrirFichePro() { //dans ma fenetre principale, à l'ouverture de ma fenetre contenant les //QLineEdit, je connecte le bouton "enregistreract". FicheProprietaire *fichePro = new FicheProprietaire(); database->initNewCodeP(fichePro); QScrollArea *scrollArea = new QScrollArea; scrollArea->setWidget(fichePro); mdiArea->addSubWindow(scrollArea); connect(enregistrerAct, SIGNAL(triggered()), this, SLOT(save())); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 QVector<QString> FicheProprietaire::listAllQWidget() const { //je liste ici tous mes QLineEdit, même s'il n'y en a qu'un pour le moment. //"nom" est un QLineEdit. QVector<QString> list; list.append(nom->displayText()); return list; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void FenetrePrinc::save() { //le slot save va chercher la méthode 'savePropri' d'une autre classe. SavePropriClass *savingPropri = new SavePropriClass(); savingPropri->savePropri(); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 void SavePropriClass::savePropri() { //la méthode de cette autre classe, pas très importante excepté... fichepro = new FicheProprietaire; int reponse = QMessageBox::question(fichepro, "Enregistrement d'un Proprietaire", "Vous êtes sur le points d'enregistrer un nouveau proprietaire. \n" "Voulez-vous poursuivre ? ", QMessageBox::Yes | QMessageBox::No); if (reponse == QMessageBox::Yes) { valueProprietaire(fichepro->listAllQWidget()); //...ceci ! } else if (reponse == QMessageBox::No) { fichepro->close(); } }En vous postant tout ça, je me rends compte que c'est pas mal le bazar tout ça...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void SavePropriClass::valueProprietaire(QVector<QString> v) { //pour le moment, juste un test de ma valeur... qDebug() << v.value(0); //ceci retourne "" donc une chaine NULL. et c'est là le problème }
A noter aussi, que lors que la déclaration de ma QLineEdit "nom", si je fais
Alors à l'affichage du qDebug, j'ai bien la chaine "defaut" qui s'affiche et non pas une chaine NULL...
Code : Sélectionner tout - Visualiser dans une fenêtre à part nom->setText("defaut");
Merci d'avance, en espérant être clair est compréhensif
}
Partager