[PIPython] da locale a globale - un po' lungo
    Topomorto 
    topomorto
       
    Mar 18 Gen 2005 16:27:37 CET
    
    
  
Ciao a tutti. Sono nuovo in python e mi sto studiando wxPython con 
boa-constructor e non mi sembra malaccio.
Sto facendo un giochino per mia figlia che andrà a scuola a settembre, e 
sono intenzionato a lasciare libere anche le sorgenti.
Le stesse le trovate (dalle 7.30 alle 22.30) all'indirizzo
ftp://62.94.102.202
user: python
password: pitone
Non giudicatelo male... è ancora tutto da sviluppare inclusa la grafica 
aggiungendo immagini, funzioni ecc.....
Fatta la premessa ho un problema.
Col programmillo cambio il valore della variabile locale (in wxFrame1) 
di self.punteggioframe1.
Ora vorrei portarmi il punteggio totalizzato a spasso per altri frame - 
magari per dire qualcosa del tipo: brava, hai fatto 19 punti....- su un 
altro frame
Suppongo che devo far diventare self.punteggioframe1 in variabile 
globale....
Ne ho provate tante ma senza riuscire.... qualcuno può aiutarmi?
Ecco lo script talgiato perchè lungo, cmque le sorgenti le trovate dove 
ho detto sopra.
Grazie
from wxPython.wx import *
from wxPython.lib.intctrl import *
from wxPython.lib.stattext import wxGenStaticText
from domande import domande
from risposte import risposte
numerodelledomande = len(domande)
def create(parent):
    return wxFrame1(parent)
[wxID_WXFRAME1, wxID_WXFRAME1BT1, wxID_WXFRAME1BT2, wxID_WXFRAME1BT3,
 wxID_WXFRAME1NUMERODOMANDA, wxID_WXFRAME1NUMRISP, wxID_WXFRAME1PUNTEGGIO,
 wxID_WXFRAME1TESTOPUNTEGGIO, wxID_WXFRAME1TESTOSTATICO2, 
wxID_WXFRAME1GENSTATICTEXT1,
] = map(lambda _init_ctrls: wxNewId(), range(10))
[wxID_WXFRAME1PUNTEGGIO] = map(lambda punti: wxNewId(), range(1))
[wxID_WXFRAME1GESTISCIITEMS0] = map(lambda _init_coll_Gestisci_Items: 
wxNewId(), range(1))
[wxID_WXFRAME1FILEITEMS0] = map(lambda _init_coll_File_Items: wxNewId(), 
range(1))
class wxFrame1(wxFrame):
   
#taglio.......
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wxFrame.__init__(self, id=wxID_WXFRAME1, name='wxFrame1',
              parent=prnt, pos=wxPoint(292, 334), size=wxSize(608, 342),
              style=wxDEFAULT_FRAME_STYLE, title='Giulia impara a leggere')
        self._init_utils()
       
##altro taglio........
    self.bt1 = wxButton(id=wxID_WXFRAME1BT1, label='Bau', name='bt1',
                  parent=self, pos=wxPoint(136, 112), size=wxSize(99, 
32), style=0)
            self.bt1.SetBackgroundColour(wxColour(255, 255, 128))
            self.bt1.SetFont(wxFont(10, wxSWISS, wxNORMAL, wxBOLD, False,
                  'Comic Sans MS'))
        EVT_BUTTON(self.bt1, wxID_WXFRAME1BT1, self.OnBt1Button)
       
###altro taglio
        self.punteggio = wxIntCtrl(allow_long=False, allow_none=False,
              default_color=wxBLACK, id=wxID_WXFRAME1PUNTEGGIO, 
limited=True,
              max=None, min=None, name='punteggio', oob_color=wxRED,
              parent=self, pos=wxPoint(264, 200), size=wxSize(40, 34), 
style=0,
              value=0)
        self.punteggio.Show(False)
        self.punteggio.SetBackgroundColour(wxColour(255, 191, 255))
        self.punteggio.SetFont(wxFont(12, wxSWISS, wxNORMAL, wxBOLD, False,
              u'Comic Sans MS'))
        self.punteggio.SetForegroundColour(wxColour(202, 0, 202))
        self.punteggio.SetThemeEnabled(True)
        self.punteggio.Enable(False)
        self.punteggio.SetAutoLayout(True)
        EVT_INT(self.punteggio, wxID_WXFRAME1PUNTEGGIO, self.OnPunteggioInt)
####altro taglio     
       
    def OnBt1Button(self, event):
        self.puntrisp = self.numrisp.GetValue() + 1
        self.numrisp.SetValue(self.numrisp.GetValue()+4)
        self.ladomanda = self.numerodomanda.GetValue()+1
        self.punteggioframe1 = self.punteggioframe1 + 
risposte[self.puntrisp]
        self.punteggio.SetValue(self.punteggioframe1)
        self.bt1.SetLabel(risposte[self.numrisp.GetValue()])
   
        if self.ladomanda < numerodelledomande:
            self.testoStatico2.SetLabel(domande[self.ladomanda])           
            self.numerodomanda.SetValue(self.numerodomanda.GetValue()+1)
        else:
            self.testoStatico2.SetLabel('Gioco finito')
            self.bt1.Show(False)
            self.bt2.Show(False)
            self.bt3.Show(True)
       
        self.numrispt2 = self.numrisp.GetValue()+2
        self.bt2.SetLabel(risposte[self.numrispt2])
        self.testopunteggio.SetLabel('Il tuo punteggio attuale \xe8: '+ 
str(self.punteggioframe1) + ' Punti')
       
#####altro taglio
   
    def __init__(self, parent):
        self._init_ctrls(parent)
        self.punteggioframe1 = 0
-- 
Topomorto... per una sentenza sbagliata   :'(
Topomorto dice NO alla pena di morte... soprattutto la sua 
    
    
More information about the Python
mailing list