Pozdrav svima!
Za svoj zavrsni rad moram napraviti neku aplikaciju u Pythonu koja se ukratko sastoji od područja za prikaz slike i toolbara. Obavezno moram koristiti wx za izradu GUI-a. E sad, za prikaz slike koristim DrawDC. Obzirom da moram jos neke stvari po tome crtati, zoomirati i sl. mislio sam da mi nije bas prakticno koristiti Static Bitmap na panelu. Problem je u tome sto kad se slika ucita i prikaze, sve je super dok se prozor ne makne do ispod taskbara, tada dio slike koji je bio ispod taskbara jednostavno nestane. To se ne dogodi kada preko tog prozora predem sa nekim drugim. Kako da to pobogu ispravim???
Ovo je dio koji postavi sliku na panel:
def InitialDraw (self):
while True:
try:
self.image; #provjeri da li je slika uopce otvorena
sizer = wx.BoxSizer()
sizer.Add(self.panel,0,wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL,0)
self.Center()
self.SetSizer(sizer)
dc = wx.ClientDC(self.panel)
dc.Clear()
dc.DrawBitmap(wx.BitmapFromImage(self.image),0,0)
break
except AttributeError :
self.Center()
pass
Ovo je dio koji se koristi za refreshanje:
Dio u __init___:
wx.EVT_PAINT(self.panel, self.onPaintX())
def onPaintX (self):
if self.Open == True: #da li je slika otvorena
print 'Panel: ',self.panel.GetSize()
dc = wx.PaintDC(self.panel)
dc.Clear()
dc.DrawBitmap(wx.BitmapFromImage(self.image),0,0)
else:
pass
Te su se stvari desavale i sa resizanjem prozora. Sto radim krivo? Prilozio sam i screenshotove.
Hvala na odgovorima