J'essaie de faire quelque chose que je pensais que ce serait terriblement facile: Ajout de QRadioButton dans mon QWizardPage sans aucune mise en page.Ajouter QRadioButton dans QWidget sans mise en page
Le code suivant qui ajoute QRadioButton est appelée lorsque l'utilisateur clique sur le bouton Suivant (Signal currentIdChanged appelle le code):
int newPositionY = 0;
for (vector<Events::VCS::PnPDevice>::const_iterator it=m_devices.begin(); it!=m_devices.end(); it++)
{
if (it->type == Events::VCS::HEADSET)
{
//add a radio button
stringstream text;
text << (it->name) << " " << (it->serialNumber);
QRadioButton* radioButton = new QRadioButton(ui.wpSINGLE_USER);
radioButton->setGeometry(50, 20 + newPositionY, 260, 40);
radioButton->setText(text.str().c_str());
newPositionY = newPositionY + 40
}
}
}
J'ai ajouté ce petit morceau de code pour voir ce qui se passe avec mon QRadioButton
QList<QRadioButton*> listButton = ui.wpSINGLE_USER->findChildren<QRadioButton*>();
int size = listButton.size();
QRect rect1 = listButton[0]->rect();
QRect rect2 = listButton[1]->rect();
J'ai alors réalisé qu'il semble que le problème pourrait être QRect.
La valeur de rect1 et rect2 est erronée. rect1 = (0, 0, 259, 39) et rect2 = (0, 0, 259, 39) La valeur correcte pour rect1 doit être (50, 20, 260, 40) et n pour rect2 (50, 60, 260, 40)
Alors, quel est le problème, comment ajouter QRadioButton dans QWidget sans mise en page?
EDIT
C'est étrange, si, au lieu d'ajouter le QRadioButton dans le QWizardPage lorsque l'utilisateur clique sur le bouton suivant je les ajoute dans le contructor QWizard, cela fonctionne. Est-ce que quelqu'un peut me dire pourquoi je ne suis pas capable d'ajouter QRadioButton dans ma QWizardPage dans ma fonction de slot?
Merci
La mise à jour ne fonctionne pas, mais l'ajout de QRadioButton à la mise en page fonctionne. Aussi +1 pour vous une réponse vraiment sympa et bien documentée. Merci. – peterphonic