Récupération valeur QLineEdit toujours à NULL (ou presque)
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:
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:
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:
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:
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();
}
} |
Code:
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
} |
En vous postant tout ça, je me rends compte que c'est pas mal le bazar tout ça...
A noter aussi, que lors que la déclaration de ma QLineEdit "nom", si je fais
Code:
nom->setText("defaut");
Alors à l'affichage du qDebug, j'ai bien la chaine "defaut" qui s'affiche et non pas une chaine NULL...
Merci d'avance, en espérant être clair est compréhensif ;)
}