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:
et mon constructeur de fenetre est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 }
Pourquoi la fenêtre s'affiche toujours à la fin du traitement des données et non pas au début?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Comment puis-je palier à ce problème?
Merci à tous.
Partager