J'utilise wxPython pour créer un assistant en utilisant le contrôle wxWizard. J'essaye de dessiner un rectangle de couleur mais quand je cours l'application, il semble y avoir un remplissage d'environ 10px de chaque côté du rectangle. Cela vaut pour tous les autres contrôles aussi. Je dois les compenser un peu pour qu'ils apparaissent exactement là où je les veux. Y a-t-il un moyen de retirer ce rembourrage? Voici la source de la page de l'assistant de base.Supprimer le remplissage dans wxWizard de wxPython
class SimplePage(wx.wizard.PyWizardPage):
"""
Simple wizard page with unlimited rows of text.
"""
def __init__(self, parent, title):
wx.wizard.PyWizardPage.__init__(self, parent)
self.next = self.prev = None
#self.sizer = wx.BoxSizer(wx.VERTICAL)
title = wx.StaticText(self, -1, title)
title.SetFont(wx.Font(18, wx.SWISS, wx.NORMAL, wx.BOLD))
#self.sizer.AddWindow(title, 0, wx.ALIGN_LEFT|wx.ALL, padding)
#self.sizer.AddWindow(wx.StaticLine(self, -1), 0, wx.EXPAND|wx.ALL, padding)
# self.SetSizer(self.sizer)
self.Bind(wx.EVT_PAINT, self.OnPaint)
def OnPaint(self, evt):
"""set up the device context (DC) for painting"""
self.dc = wx.PaintDC(self)
self.dc.BeginDrawing()
self.dc.SetPen(wx.Pen("grey",style=wx.TRANSPARENT))
self.dc.SetBrush(wx.Brush("grey", wx.SOLID))
# set x, y, w, h for rectangle
self.dc.DrawRectangle(0,0,500, 500)
self.dc.EndDrawing()
del self.dc
def SetNext(self, next):
self.next = next
def SetPrev(self, prev):
self.prev = prev
def GetNext(self):
return self.next
def GetPrev(self):
return self.prev
def Activated(self, evt):
"""
Executed when page is being activated.
"""
return
def Blocked(self, evt):
"""
Executed when page is about to be switched. Switching can be
blocked by returning True.
"""
return False
def Cancel(self, evt):
"""
Executed when wizard is about to be canceled. Canceling can be
blocked by returning False.
"""
return True
Merci les gars.
J'ai essayé votre exemple et ça a bien fonctionné, puis j'ai essayé le mien à nouveau et ce n'est pas le cas.() 'méthode et la méthode' Wizard.RunWizard() 'que j'utilise, je suis retourné à la lecture de la documentation. o avoir une valeur par défaut d'une bordure de 5px ou quelque chose. J'ai utilisé la commande suivante, les frontières ont disparu 'Wizard.SetBorder (-5)'. Ça a quelque chose à voir avec les calibreurs mais je n'en utilise pas. Mauvaise pratique, je sais. Merci quand même. –