Problème : ouverture tardive d'un qwidget
Bonjour à tous,
J'ai réaliser une fenetre de chargement basique pour mon programme. Cette fenetre contient juste un label contenant le text "Chargement...". Elle doit s'ouvrir avant le traitement d'une certaine durée et doit se refermé juste après. Cette fonction qui réalise un traitement sur des données est executée lors d'un click sur bouton. (Signal/Slot).
Mon problème est que cette fenêtre(QWidget) s'ouvre toujours après le traitement sur les données alors que je l'ai déclaré avant ce traitement. Comment se fait t-il?
Voilà un bout de code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
void MainWindow :: traiterDonnees(){
FenetreChargement *fChargement=new FenetreChargement(QString("Chargment..."),NULL); //Creation de la fenetre
fChargement->show(); //Affichage de la fenetre
while(/*Ce qu'on veut*/){
//On fait des traitements sur données pendant 1 min par exemple
}
//fChargement->close(); //On ferme la fenetre
} |
et mon constructeur de fenetre est :
Code:
1 2 3 4 5 6 7 8 9
|
FenetreChargement :: FenetreChargement(QString messageInformation,QWidget *parent) :QWidget(parent) {
this->setFixedSize(200,20);
this->setWindowFlags(Qt::Tool);
//On gere le message que l'on va afficher
lMessageInfo=new QLabel(this);
lMessageInfo->setText(messageInformation);
} |
Pourquoi la fenêtre s'affiche toujours à la fin du traitement des données et non pas au début?
Comment puis-je palier à ce problème?
Merci à tous.