Salut
j'utilise la bibliotheque QT4
j'ai utilise m_boutonDialogue = new QPushButton("DEBUT", this);
et m_nbdisques = QInputDialog::getInteger(this, tr("QInputDialog::getInteger()"), tr("Entrez le nombre de disques"),1,1,10);
avec m_nbdisques est un attribut private
mais le probleme est que la valeur de m_nbdisques n'est pas modifie en appuiyant sur OK
En effet si j'utilise QRectF disque[m_nbdisques] le programme ne fonctionne pas .
merci de m'aider
botton Qt
jeu, 21/08/2008 - 19:23
#1
botton Qt
As-tu affiché la valeur m_nbdisques directement sans passé par ton QRectF ?
Bonjour,
On ne puisse pas dire que votre question brille par sa clarté...
Donc, si j'ai bien compris, vous voulez savoir pourquoi il n'y a rien dans votre variable.
Tout d'abord, une question de bonne pratiques, la signature de la fonction statique getInteger() est la suivante :
int QInputDialog::getInteger ( QWidget * parent, const QString & title, const QString & label, int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool * ok = 0, Qt::WindowFlags f = 0 )
Vous devriez utiliser le pas (step) et le booléen de contrôle avant de tenter l'affichage de votre valeur. Celà vous permettrais déjà de savoir si un entier est bien retourné ou non.
Ensuite, il est difficile de donner une aide quelconque comme ça : ce que vous donnez est quasiment un copier coller de la doc, et chez moi cela fonctionne correctement.
Par exemple, le code suivant fonctionne correctement :
#include
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
int entier = QInputDialog::getInteger(0 , "QInputDialog::getInteger()", "Entrez le nombre de disques",1,1,10);
QMessageBox::information ( 0, "test result", QString("result: %1").arg(entier));
return app.exec();
}
La boite de message affiche l'entier saisie dans la boite de saisie.
Ce qui signifie que ce n'est probablement pas cet appel qui ne fonctionne pas correctement mais le reste du code.
Pouvez vous nous fournir plus d'informations concernant le contexte ? Un petit pastebin du code serait l'idéal.
Arnaud Dupuis