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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| #! /usr/bin/env python
#-*- coding: utf-8 -*-
import wx
class MaFenetre(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent = None, title = u"exemple de Yield()")
self.choix = None
sizer0 = wx.BoxSizer(wx.VERTICAL)
self.sizer1 = wx.BoxSizer(wx.HORIZONTAL)
sizer2 = wx.BoxSizer(wx.HORIZONTAL)
self.panel = wx.Panel(self, id = -1)
self.label = wx.StaticText(self.panel, -1,
u"Cliquer sur commencer...")
self.sizer1.Add(self.label, 0, wx.ALL|wx.EXPAND, 10)
self.btPasse = wx.Button(self.panel, -1, u"Je passe")
self.btPetite = wx.Button(self.panel, -1, u"Petite!")
self.btCommencer = wx.Button(self.panel, -1, u"Commencer")
sizer2.Add(self.btCommencer, 1, wx.ALL, 3)
sizer2.Add(self.btPasse, 1, wx.ALL, 3)
sizer2.Add(self.btPetite, 1, wx.ALL, 3)
sizer0.Add(self.sizer1, 1, wx.ALL|wx.EXPAND, 5)
sizer0.Add(sizer2, 0, wx.ALL|wx.EXPAND, 5)
self.panel.SetSizer(sizer0)
self.panel.Fit()
self.Fit()
self.btPasse.Enable(False)
self.btPetite.Enable(False)
self.Bind(wx.EVT_BUTTON, self.OnPasse, self.btPasse)
self.Bind(wx.EVT_BUTTON, self.OnPetite, self.btPetite)
self.Bind(wx.EVT_BUTTON, self.OnCommencer, self.btCommencer)
def OnPasse(self, event):
self.choix = "Passe"
def OnPetite(self, event):
self.choix = "Petite"
def OnCommencer(self, event):
self.btCommencer.Enable(False)
self.label.SetLabel(u"en attente d'un choix...")
self.btPasse.Enable(True)
self.btPetite.Enable(True)
while not self.choix:
app.Yield()
self.btPasse.Enable(False)
self.btPetite.Enable(False)
if self.choix == "Passe":
self.label.SetLabel(u"le joueur a passé...")
else:
self.label.SetLabel(u"le joueur a déclaré une petite...")
self.choix = None
self.btCommencer.Enable(True)
class MonApp(wx.App):
def OnInit(self):
fen = MaFenetre()
fen.Show()
self.SetTopWindow(fen)
return True
app = MonApp()
app.MainLoop() |
Partager