[QT] qsplashscreen
Fermé
sarah
-
11 juin 2009 à 13:28
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 juin 2009 à 16:35
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 11 juin 2009 à 16:35
Bonjour,
j'utilise le qt sous unix
je voudrais afficher un message d'attente pendant l execution d'une fonction qui prend un certain temps, de la manière suivante (dans ma classe) :
1. afficher un message d attente
2. appeler la fonction
3. fermer le message
j'ai essayé d'utiliser qsplashscreen mais elle attend apperement l'affichage d une application qui tarde, pas une fonction à terminer.
est ce que vous avez une idée?
merci d'avance
j'utilise le qt sous unix
je voudrais afficher un message d'attente pendant l execution d'une fonction qui prend un certain temps, de la manière suivante (dans ma classe) :
1. afficher un message d attente
2. appeler la fonction
3. fermer le message
j'ai essayé d'utiliser qsplashscreen mais elle attend apperement l'affichage d une application qui tarde, pas une fonction à terminer.
est ce que vous avez une idée?
merci d'avance
A voir également:
- [QT] qsplashscreen
- Qt sdk - Télécharger - Langages
- Qt web - Télécharger - Navigateurs
- Qt tab bar - Télécharger - Personnalisation
- Qt platform plugin download ✓ - Forum Programmation
- Delete avec Qt ✓ - Forum Programmation
5 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 juin 2009 à 14:17
11 juin 2009 à 14:17
tu parle de ça :
Ce n'est pas fait pour ce que tu veux faire à priori.
Je pense qu'à ta place je ferai ça :
Création d'un Widget avec le message d'attente (nommé wid)
wid.show();
fonction_super_longue();
wid.close();
je ne suis pas certain que ça fonctionne correctement, mais à tester.
void QSplashScreen::finish ( QWidget * mainWin ) Makes the splash screen wait until the widget mainWin is displayed before calling close() on itself.?
Ce n'est pas fait pour ce que tu veux faire à priori.
Je pense qu'à ta place je ferai ça :
Création d'un Widget avec le message d'attente (nommé wid)
wid.show();
fonction_super_longue();
wid.close();
je ne suis pas certain que ça fonctionne correctement, mais à tester.
re bonjour
merci pour votre réponse,
j'ai essayé ce que vous venez de faire mais ça marchait pas comme je veux , la deuxième fenetre ne reste pas affichée pendant l execution de la première
?
merci pour votre réponse,
j'ai essayé ce que vous venez de faire mais ça marchait pas comme je veux , la deuxième fenetre ne reste pas affichée pendant l execution de la première
?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 juin 2009 à 16:01
11 juin 2009 à 16:01
ça dépend comment s'exécute ta fonction. En même temps ou non ?
Sinon, tu crée un widget bidon dont la seul tâche est de lancé la fonction :
class bidon: public QWidget{
bidon(){fonction_super_longue();close()}
}
et ensuite dans la fonction d'appel :
QSplashScreen b;
b.finish ( new bidon);
(pas tester, mais c'est l'esprit)
Sinon, tu crée un widget bidon dont la seul tâche est de lancé la fonction :
class bidon: public QWidget{
bidon(){fonction_super_longue();close()}
}
et ensuite dans la fonction d'appel :
QSplashScreen b;
b.finish ( new bidon);
(pas tester, mais c'est l'esprit)
merci mais monsieur avec cet esprit,
on revient au premier problème de qsplashscreen, il attend que l'application s'affiche(bidon)
donc dès le début de bidon , le splash va se finir, avant la terminaison de ma fonction :)
?
on revient au premier problème de qsplashscreen, il attend que l'application s'affiche(bidon)
donc dès le début de bidon , le splash va se finir, avant la terminaison de ma fonction :)
?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 juin 2009 à 16:35
11 juin 2009 à 16:35
Tu as essayé ?
Car comme il n'y a pas de show, elle ne devrais jamais se fermer ta fenêtre splash.
Je pense que finish attend que bidon.isShown() soit vrai.
Sinon, il faut jouer avec les signaux.
Car comme il n'y a pas de show, elle ne devrais jamais se fermer ta fenêtre splash.
Je pense que finish attend que bidon.isShown() soit vrai.
Sinon, il faut jouer avec les signaux.