[PIPython] I thread e/o threading ........capitolo ostico!!!
Massimo Cecconi
massimo.cecconi
Gio 28 Apr 2005 19:47:48 CEST
Salve a tutti,
sono alle prese con i thread di cui credo, che l'unica cosa che sono
riuscito a capire, è che servono per gestire diverse "azioni"
contemporaneamente senza "rompere le scatole" ad altre azioni in
esecuzione, nello stesso momento appunto!!
Bene vi spego cosa devo fare io.....
Ho una interfaccia che prevede nella parte destra dello schermo, una
colonna in cui vengono eseguite diverse operazioni.
In ogni caso ho uno schermo così diviso:
2 colonne
La prima colonna ha 4 pannelli in riga
La seconda colonna ha 2 pannelli in riga
In ogni pannello ci sono delle azioni che devono essere eseguite "a
volte" in contemporanea con altre.
Come dicevo prima nella colonna di destra ho un pannello che (il più
complicato) prevede dei form. Il primo form, prevede dei combo ed in
base alla selezione di questi, quando premo il tasto di conferma, mi
dovrà richiamare il form successivo che sarà idoneo in base alle scelte
del primo form.
Ora come devo fare per mettere innanzitutto il secondo form al posto del
primo e cioè la pagina così com'è deve solo cambiare "graficamente"
all'interno dello stesso pannello senza influire sul resto dello
schermo, ed in seguito in base a tutto ciò aggiornare alcuni degli altri
pannelli???
Negli altri pannelli la grafica non viene toccata ma i dati in essa
contenuti devono essere aggiornati.......
Quindi riepilogando devo:
Selezionare dal form un tipo di evento;
In base all'evento che è stato selezionato, eseguo una query ad un
DB-SQlite;
recupero dei dati sempre dal database con un'altra query ed in base a
questi richiamo un'altro form da inserire al posto del precedente (nello
stesso spazio).
Eseguo le successive scelte, confermo, archivio nel database e rimetto
nuovamente il primo form al suo posto pronto per un nuovo giro.....
Si lo so sembra complesso ma forse meglio di così non so spiegarvelo...
sorry!! :(:(
In definitiva questi diamine di thread come dovrei implementarli?? per
fare in modo da gestire tutto questo casotto????
Ogni tipo di aiuto è gradito grazie!!
Mi sono spulciato la rete ed ho anche acquistato un libro ma pur
credendo di averli capiti sti diavolo di thread, non riesco proprio a
capire come fare per utilizzarli!!! come?? quando??? dove????
l'interfaccia l'ho creata in questo modo:
class MainSlotPanel(wx.Panel):
def __init__(self, parent, id = -1):
wx.Panel.__init__(self, parent, id, wx.DefaultPosition,
wx.DefaultSize, wx.STATIC_BORDER|wx.TAB_TRAVERSAL)
Canvas1 = ActualSlotPanel(self)
Canvas2 = PreviewResultSlot(self)
Canvas3 = SlotPanel(self)
Canvas4 = WeatherReportPanel(self)
Canvas5 = CountDownPanel(self)
Canvas6 = ManagerSlotPanel(self)
#Canvas7 = ManagerSlotPanel_ViewType_1(self)
#Canvas8 = ManagerSlotPanel_ViewType_2(self)
#Canvas9 = ManagerSlotPanel_ViewType_3(self)
box_MAIN = wx.FlexGridSizer(2,2,0,0,)
box1 = wx.FlexGridSizer( 4, 0, 0, 0 )
box1.Add(Canvas1, 0, wx.ALIGN_LEFT|wx.BOTTOM, 6)
box1.Add(Canvas2, 0, wx.EXPAND)
box1.Add(Canvas3, 0, wx.EXPAND)
box1.Add(Canvas4, 0, wx.ALIGN_CENTER|wx.TOP, 6)
box_MAIN.Add(box1, 0,
wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_TOP|wx.ALL, 5)
box2 = wx.FlexGridSizer( 4, 0, 0, 0 )
box2.Add(Canvas5, 0, wx.ALIGN_CENTER|wx.ALL, 3)
box2.Add(Canvas6, 0, wx.ALIGN_CENTER|wx.ALL, 3)
#box2.Add(Canvas7, 0, wx.ALIGN_CENTER|wx.ALL, 3)
#box2.Add(Canvas8, 0, wx.ALIGN_CENTER|wx.ALL, 3)
#box2.Add(Canvas9, 0, wx.ALIGN_CENTER|wx.ALL, 3)
box_MAIN.Add(box2, 0,
wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_TOP|wx.ALL, 2)
#box.Fit(self)
self.SetAutoLayout(True)
self.SetSizer(box_MAIN)
self.Show(True)
i Canvas 6 7 8 9 sono i vari form di cui parlavo.
Il Canvas6 contiene il primo form mentre i Canvas 7 8 e 9 sono i form
successivi che appaiono in base alle scelte del primo form.....
More information about the Python
mailing list