Bonjour,
J'aimerais pouvoir griser un bouton pendant l'ouverture d'une nouvelle fenêtre.
Je m'explique :
j'ai une frame principale dans un fichier.
Lorsque je clique sur un bouton, je crée une nouvelle frame en l'important d'un autre fichier.
J'aimerais que ce bouton devienne grisé (du genre btn.disable() ) pendant tout le temps ou cette frame reste ouverte, de façon à ne pouvoir ouvrir qu'une seule fois cette frame !
Je joins ci-dessous un extrait des 2 fichiers pour bien me faire comprendre :
fichier "main.py":
fichier "module1.py":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #!/usr/bin/env python #-*- coding: iso-8859-15 -*- import wx class Appli(wx.App): def OnInit(self): # création de la fenêtre principale frame = Principale("Application") frame.Show(True) self.SetTopWindow(frame) return True class Principale(wx.Frame): def __init__(self, titre): wx.Frame.__init__(self, None, -1, title='main') panel = wx.Panel(self, -1) self.gbs = wx.GridBagSizer(hgap=5, vgap=5) self.btn1 = wx.Button(panel, -1, "bouton") self.Bind(wx.EVT_BUTTON, self.onFonction, self.btn1) self.gbs.Add(self.btn1, (0,0)) panel.SetSizerAndFit(self.gbs) self.SetClientSize(panel.GetSize()) def onFonction(self,evt): import module1 self.dlg = module1.algo(self) self.dlg.Show(True) if __name__ == "__main__": app = Appli() app.MainLoop()
dans l'attente....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 import wx class algo(wx.Frame): def __init__(self, parent): wx.Frame.__init__(self, parent, -1, title = "algo") panel = wx.Panel(self, -1) self.gbs = wx.GridBagSizer(hgap=5, vgap=5) self.liste1 = ['Choix 1', 'Choix 2'] self.Choix = wx.RadioBox(panel, -1, "Choix", (-1,-1), wx.DefaultSize, self.liste1, 1, style = wx.RA_SPECIFY_COLS) self.Bind(wx.EVT_RADIOBOX, self.onChoix, self.Choix) self.btnQuit = wx.Button(panel, -1, "Quitter") self.Bind(wx.EVT_BUTTON, self.onQuitter, self.btnQuit) self.gbs.Add(self.Choix, (0,0)) self.gbs.Add(self.btnQuit, (0,1)) panel.SetSizerAndFit(self.gbs) self.SetClientSize(panel.GetSize()) def onChoix(self, evt): pass def onQuitter(self, evt): self.Destroy()
Partager