Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/11/2008, à 23:33

touti445

fermeture auto d'une fenêtre sous glade...

bonsoir,
je commence tout juste à me pencher sur la programmation. Après quelques recherches sur google, je me suis arreté sur python, pygtk et glade. J'essaie de faire un pt'it programme et histoire de faire plus propre je souhaite commencer par une fenêtre de bienvenue. Je m'explique :
-on lance le programme, une fenêtre d'accueil s'affiche.
-au bout de 3s, elle se ferme (ou disparait) automatiquement pour laisser la place à la fenêtre principale.
Donc questions :
-est-ce possible?
-est-ce que je peux mettre autre chose qu'une fenêtre avec image (genre un p'tit film de présentation très court)?
merci de m'éclairer.

Dernière modification par touti445 (Le 07/11/2008, à 05:02)

Hors ligne

#2 Le 04/11/2008, à 01:06

Respawner

Re : fermeture auto d'une fenêtre sous glade...

Tu peux tout faire ou presque (je connais très peu Python) je connais beaucoup mieux Java mais je suppose que l'idée est la même.
Tu ouvres une première fenêtre avec le contenu que tu souhaites (vidéo si tu le souhaites bien entendu), en même temps tu lances un timer (de 3 secondes) qui au bout des 3 secondes ferme la fenêtre pour ouvrir la nouvelle.
Glade (que j'utilise avec java-gnome entre autre) ne sert qu'à concevoir la fenêtre en elle même et ne génère pas de code source (à part le fichier XML bien sûr) donc ce n'est pas Glade qui va te permettre de créer un timer pour fermer ta fenêtre automatiquement.

Hors ligne

#3 Le 04/11/2008, à 01:34

touti445

Re : fermeture auto d'une fenêtre sous glade...

tout d'abord, merci de ta rapidité.
...mais voilà, c'est bien sur le timer justement que je bloque... comme je l'ai dis je commence tout juste en programmation (2 mois que je suis dessus) et j'utilise un tutoriel sur pygtk et python, le tout en 600 pages!!!... de chinois je dois bien le dire! bref, je ne comprends qu'un mot sur 2 et ce n'est encore qu'abstrait (je ne maitrise pas encore les classes, fonctions, ...). J'ai beau fouiller je ne trouve rien sur la fonction time, et ce que j'ai trouvé sur google ne correspond pas ou alors j'ai rien compris.
Si tu peux développer ton idée de time, ça m'intéresse.

Hors ligne

#4 Le 04/11/2008, à 02:34

Respawner

Re : fermeture auto d'une fenêtre sous glade...

Jette un coup d'oeil ici.
C'est expliqué comment utilisé un timer en python.

Hors ligne

#5 Le 04/11/2008, à 19:35

touti445

Re : fermeture auto d'une fenêtre sous glade...

je viens de voir vite fait le lien, ça à l'air intéressant. J'ai pas tout compris mais je vais essayé de comprendre ce soir. Je te tiens au courant.
Merci de ton aide

Hors ligne

#6 Le 06/11/2008, à 14:06

touti445

Re : fermeture auto d'une fenêtre sous glade...

J'ai essayé de comprendre, et surtout de l'adapter à mon projet. J'ai du raté des trucs car ça ne réagi pas exactement comme je le souhaite.
Voilà ce que j'ai pu écrire avec ma 1ère fenêtre qui se nome "Presentation" et je cherche a appeler après le timer la 2nd qui se nome "Principale" :

#! /usr/bin/env python
# -*- coding: iso-8859-15 -*-

import gtk, pygtk, gtk.glade
import threading
import time

class Presentation(threading.Thread):
    def __init__(self, nom = 'Presentation'):
	#là j'appelle ma fenetre glade pour l'afficher
	self.gui=gtk.glade.XML("Presentation.glade") 
        threading.Thread.__init__(self)
        self.Terminated = False
    def run(self):
	print "le thread s'est termine proprement"
    def stop(self):
	self.Terminated = True
	#là je veux appeler ma 2ème fenetre du module Principale
	import Principale.py

Presentation('Presentation').start()
gtk.main()
time.sleep(6.5)
Presentation('Presentation')._Thread__stop()

les soucis sont :
-quand je mets gtk.main() à la fin, la fenêtre n'apparait qu'apres le timer donc j'imagine que tout est lu et exécuté dans l'ordre, mais si je le mets au début, la fenetre apparait mais le timer ne se lance pas
-je veux que mon module Principale arrvie apres le timer mais quand je fais import Principale.py, rien ne se passe (même pas un message d'erreur)
Je pense que je ne dois pas être tres loin mais en y allant à taton  c'est pas évident

Hors ligne

#7 Le 06/11/2008, à 14:11

touti445

Re : fermeture auto d'une fenêtre sous glade...

juste une précision sur le script : les retraits dans les def de mon fichier sont bon, je ne sait pas pourquoi ça n'a pas pris correctement le copier/coller.

Hors ligne