Comment exécuter la fonction 5 secondes après l'affichage du widget pygtk?Fonction d'exécution 5 secondes après l'affichage du widget pygtk
11
A
Répondre
14
Vous pouvez utiliser glib.timeout_add(interval, callback, ...) pour appeler périodiquement une fonction.
Si la fonction renvoie True, elle sera appelée à nouveau après l'intervalle; Si la fonction renvoie False, elle ne sera plus appelée.
Voici un court exemple d'ajouter un délai d'attente après de un widget Montrer l'événement:
import pygtk
pygtk.require('2.0')
import gtk
import glib
def timer_cb():
print "5 seconds elapsed."
return False
def show_cb(widget, data=None):
glib.timeout_add(5000, timer_cb)
def destroy_cb(widget, data=None):
gtk.main_quit()
def main():
window = gtk.Window(gtk.WINDOW_TOPLEVEL)
window.connect("show", show_cb)
window.connect("destroy", destroy_cb)
window.show()
gtk.main()
if __name__ == "__main__":
main()
9
Si le temps n'est pas critique pour être exact au dixième de seconde, utilisez
glib.timeout_add_seconds(5, ..)
autrement comme ci-dessus.
timeout_add_seconds permet au système d'aligner les délais d'attente à d'autres événements, à long terme la réduction des redémarrages CPU (surtout si le délai d'attente est reocurring) et save energy for the planet (!)
Questions connexes
- 1. Opacité du widget PyGTK
- 2. Elément de masquage automatique jQuery après 5 secondes
- 3. Désactivation temporisée du bouton dans pygtk
- 4. PyGTK: fenêtre du client IM
- 5. Quel est le meilleur widget pour entrer l'heure dans PyGTK
- 6. Comment utiliser le même widget deux fois dans pygtk?
- 7. Comment ouvrir de nouvelles fenêtres toutes les 5 secondes, en utilisant le code du serveur?
- 8. Pourquoi Perl's Inline :: C sort 4.0e-5 après 4.4e-5?
- 9. Défauts du widget Dojo
- 10. Faites quelque chose toutes les 5 secondes et le code pour l'arrêter. (JQuery)
- 11. manuel d'fadeout (sur clic) avec automatique (après quelques secondes)
- 12. Jw Le joueur s'arrête après quelques secondes dans Firefox
- 13. remplacement du widget à l'exécution
- 14. pyGTK Radio Button Aide
- 15. Comment définir le bouton par défaut dans PyGTK?
- 16. Utilisation de jQuery pour modifier le texte du bouton d'entrée après quelques secondes
- 17. NSNombre de secondes à Heures, minutes, secondes
- 18. threads séparés dans l'application pygtk
- 19. Wildcard pour PyGTK États
- 20. Comment convertir les secondes en heures, minutes et secondes?
- 21. UIImagePickerController crash après 5 à 7 images - encore
- 22. pygtk gui gèle avec le fil de pyjack
- 23. Traiter des plages horaires telles que 5 minutes et 30 secondes dans R
- 24. Texte du widget de l'onglet CSS
- 25. Emplacement du widget Qt4 sur Windows
- 26. Fonction d'appel jQuery après chargement
- 27. pyGame dans une application pyGTK
- 28. Taille du disque en Java 5
- 29. Comment réessayer une demande de fonction après un certain temps
- 30. Etrange pause de 5 secondes avec l'interface de ligne de commande PHP (liée à l'extension mysql/mysqli)
+1 parce que vous avez effectivement ajouté un lien vers la documentation officielle. Les gens devraient le faire plus souvent. –