wxPython --> Comment gérer les boutons qui ouvrent des fenêtres - Python - Programmation
Marsh Posté le 21-07-2004 à 11:47:28
Ze306 a écrit : Je ne comprends pas comment est ce qu'on fait à faire ouvrir une nouvelle fenetre lorsqu'on clique sur un bouton : |
ben tu crées les classes de tes fenêtres (dérivées de dialog ou frame comme tu veux, une classe par fenêtre si elles sont très différentes ou alors des options dans le __init__) et tu les construit (appel constructeur) + show quand on clic sur le bouton (ou alors tu les construit/init à l'init de la fenêtre parent et tu les show quand le bouton est cliqué)
Citation : Puis dans cette nouvelle fenêtre, je veux que les boutons se mettent à jour à l'intérieur tout en effacant les précédants si nécessaire |
Si c'est une nouvelle fenêtre ya pas de boutons autres que ceux que t'y as mis normalement
Marsh Posté le 21-07-2004 à 11:50:09
Pour la deuxième partie, je ne veux pas justement que les boutons de ma nouvelle fenêtre en ouvrent une autre mais simplement que la fenêtre se mette à jour avec les nouvelles options
Marsh Posté le 21-07-2004 à 11:55:20
aaaah c'était pas clair, je croyais que tu parlais de la fenêtre popup.
Ben pour la mise a jour, il me semble que tu peux changer les callbacks/labels/autres d'un bouton sans aucun problème (ce qui évite de dégager l'ancien bouton pour le remplacer par un nouveau), il faut simplement que tes boutons soient déclarés en objets de la classe (self.button_name) et non en locaux à la fonction dans laquelle ils ont été créés (button_name) de manière à être accessible par les autres fcts et donc modifiables
Marsh Posté le 21-07-2004 à 12:11:03
Autre question, comme chaque fenêtre est une classe, chacune d'elle se trouve dans un fichier différent.
Est ce qu'il faut faire un import du nom de ce fichier dans chaque fichier ou cette classe va etre appelée?
Marsh Posté le 21-07-2004 à 12:14:09
tu peux mettre plusieurs classes dans un même fichier source en python, ca gène pas hein -_-
Sinon, oui, il faut faire import nom_du_source (dans lequel est la classe, sans le ".py" ) et ta classe se trouvera a nom_du_source.nom_de_classe
Marsh Posté le 21-07-2004 à 13:41:45
Code :
|
Crée une wx.Frame avec un gros bouton "Initial"
clic sur initial -> devient un bouton "'Sup" et ouvre une boite de dialog
clic sur 'Sup -> fermeture du dialog + retour a bouton "Initial"
fermeture du dialog -> retour au bouton "Initial" sur la frame (suffit d'enlever le self.Bind du dialog pour que ca dégage)
Marsh Posté le 21-07-2004 à 11:37:27
J'ai un petit soucis qui m'exaspère....
Je ne comprends pas comment est ce qu'on fait à faire ouvrir une nouvelle fenetre lorsqu'on clique sur un bouton :
A partir d'un menu, je souhaite ouvrir une nouvelle fenetre en fonction du bouton cliqué.
Puis dans cette nouvelle fenêtre, je veux que les boutons se mettent à jour à l'intérieur tout en effacant les précédants si nécessaire