# Autres langages > Python > GUI > [Python 2.X] Associer une fonction  une fentre cache (.withdraw)

## mr.dbutant

Bonjour  tous.
Dans le cadre de mon enseignement spcifique de Terminale S (ISN), je dois raliser un projet de programmation sur python avec mes camarades. Notre simple programme arrivant dsormais  sa finalisation, un dernier problme s'impose. En effet, je vais essayer de vous l'expliquer le plus clairement possible. 

Dans notre programme, nous avons cre une premire fentre visible avec le module Tkinter permetant d'ouvrir une deuxime fentre qui, elle, est cache grce  la mthode .withdraw(). Nous avons voulu assigner une fonction permettant d'enregistrer les touches tapes au clavier dans un fichier .txt  cette fentre grce  la mthode bind(). Le problme est que la seconde fentre n'est pas "slectionne"  ce moment-ci et que les touches du clavier ne sont pas enregistres. 

Voici donc le bout de programme: 


```

```

J'aimerais savoir s'il est possible d'enregistrer les touches tapes au clavier dans un fichier .txt  partir d'une fentre cache.
J'ai dj fait quelques recherches et notamment sur:
http://tkinter.fdex.eu/doc/toplww.ht...light=withdraw
Merci d'avance pour vos rponses.

----------


## wiztricks

Salut,




> J'aimerais savoir s'il est possible d'enregistrer les touches tapes au clavier dans un fichier .txt  partir d'une fentre cache.


Ce bout de code devrait fonctionner:



```

```

 partir de l, stocker les caractres dans un fichier n'est pas si compliqu.
Mais si votre but est de raliser un keylogger quelque soit l'application active, "tkinter" ne sait pas le faire.

- W

----------


## mr.dbutant

J'ai essay votre bout de code, si c'est la premire fentre qui est cache et tant que l'on ne clique pas autre part, cela fonctionne. J'tais parvenu au mme rsultat avec le code que j'ai recopi prcdemment. Mais si l'on associe cette fonction  la seconde fentre, le curseur se replace autre part que sur la dite fentre cache et donc cela ne fonctionne pas. 
Merci tout de mme d'avoir rpondu.

----------


## wiztricks

> Mais si l'on associe cette fonction  la seconde fentre, le curseur se replace autre part que sur la dite fentre cache et donc cela ne fonctionne pas.


A chaque appel  Tk, c'est comme crer une nouvelle application. 
Utilisez Toplevel pour crer d'autres "fentres" que la fentre principale.
Pour le reste, si l'application n'a pas le "focus", les caractres taps sur le clavier ne lui sont pas expdis.
Un GUI fonctionne comme .

Aprs la question est de savoir ce que vous souhaitiez faire et de trouver un moyen plus "adapt" pour le raliser.

- W

----------

