Zdravím
Potřeboval bych pomoci najít ve Wx něco jako grab_set() v Tkinteru (nové okno
je aktivní a na předchozí se nedá kliknout dokud se nové nezavře). Mohl bych
použít ShowModal, ale to se mi zastaví celá aplikace.
Přikládám kód. Potřebuju, aby se nedali začít dva výpočty najednou (jinak dojde
k vygenerování vyjímky):
# -*- coding: cp1250 -*-
import wx
def compute(seznam):
while seznam[0]:
wx.Yield()
print "probiha vypocet"
class Okno:
def __init__(self):
self.okno=wx.Frame(None)
button=wx.Button(self.okno,label="Spusť")
button.Bind(wx.EVT_BUTTON, self.pocitej)
self.okno.Show(1)
self.vypocet=[True]
def pocitej(self,akce):
self.vypocet[0]=True
self.cancel()
compute(self.vypocet)
self.znic_okno()
def stop(self,akce):
self.vypocet[0]=False
def prerusit(self):
try:
self.okno2.Destroy()
except:pass
self.vypocet[0]=False
def cancel(self):
self.okno2=wx.Frame(self.okno,size=(150,100),style=wx.FRAME_NO_TASKBAR|wx.FRAME_FLOAT_ON_PARENT|wx.CAPTION)
self.okno2.SetBackgroundColour((236, 233, 216))
self.okno2.Centre()
button=wx.Button(self.okno2,label="Přerušit")
button.Bind(wx.EVT_BUTTON,lambda e:self.prerusit())
self.okno2.Show()
def znic_okno(self):
try:
self.okno2.Destroy()
except:
pass
ap = wx.App(0)
Okno()
ap.MainLoop()
Díky moc za pomoc!
Blujacker_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python