Félicitations !
+
0
points
En savoir plus
Actualités
Tests & Guides
Bons Plans
Forum
Premium
Rechercher sur le site
Connexion
Si votre email correspond à un compte, vous recevrez un lien de réinitialisation.
Réinitialiser le mot de passe
Retour connexion
Actualités
Tests & Guides
Bons Plans
GTA 6
iPhone 17
Copilot
Switch 2
Temu
ChatGPT
Tesla
Génération NT
Entraide
Développement
Développement
Langage Python
GTK et threads bloquants
GTK et threads bloquants
1 réponse
jak
01/01/2006 à 11:20
Bonjour,
je tente d'ecrire un ptit bout de code qui me parraissait simple dans ma
ptite tête, mais qui semble plus relou à ecrire en vrai :)
L'idée est simple, je veux lancer une fenetre gtk tout en gardant une
console opérationnelle pour la saisie clavier
Ca donne un truc du genre :
#=========================================
import pygtk,gtk,threading
class Gui(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.setDaemon(True)
self.window = gtk.Window()
self.window.connect("destroy",gtk.main_quit)
self.window.connect("delete_event",self.quitter)
self.window.set_title("bla bla bla")
self.window.show()
def quitter(self,widget,data=None):
print "Au revoir !"
return False
def run(self):
print "Demarrage de l'interface graphique OK"
gtk.main()
#programme principal
gui = Gui()
gui.start()
continu = True
while continu:
command = raw_input("prompt> ")
if command == "quit":
continu = False
else:
print "%s : commande inconnue" % command
#=========================================
Voilà, sauf que là, ma console est bloquée tant que je n'ai pas fermé ma
fenetre gtk. Etant donné que ma classe Gui hérite de threading.Thread,
comment se fait il qu'elle bloque mon programme principal ??
Merci pour votre aide
a+, et bonne année !
Partager
Facebook
Twitter
Reddit
Whatsapp
Email
Signaler
Signaler un problème avec ce contenu
Envoyer
1 réponse
Supprimer
Cette action est irreversible, confirmez la suppression du commentaire ?
Supprimer
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Envoyer
jak
Signaler
01/01/2006 à 12:16
Apparement mon problème a été résolu en placant la ligne :
gtk.gdk.threads_init()
juste avant ma ligne
gtk.main()
Je ne saurai expliqué trop en détail le pourquoi du comment, c'est
surement une technique spécifique à pygtk :s
Apparement mon problème a été résolu en placant la ligne :
gtk.gdk.threads_init()
juste avant ma ligne
gtk.main()
Je ne saurai expliqué trop en détail le pourquoi du comment, c'est
surement une technique spécifique à pygtk :s
Vous avez filtré cet utilisateur ! Consultez son message
Apparement mon problème a été résolu en placant la ligne :
gtk.gdk.threads_init()
juste avant ma ligne
gtk.main()
Je ne saurai expliqué trop en détail le pourquoi du comment, c'est
surement une technique spécifique à pygtk :s