Удалить заполнение в wxWizard wxPython - PullRequest
0 голосов
/ 12 мая 2010

Я использую wxPython для создания мастера с помощью элемента управления wxWizard. Я пытаюсь нарисовать цветной прямоугольник, но когда я запускаю приложение, кажется, что с каждой стороны прямоугольника есть отступ в 10 пикселей Это касается и всех других элементов управления. Я должен немного сместить их, чтобы они появлялись именно там, где я хочу. Есть ли способ, которым я мог бы удалить это дополнение? Вот источник моей базовой страницы мастера.

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

Спасибо, ребята.

1 Ответ

1 голос
/ 13 мая 2010

Я не могу это подтвердить (я бы оставил комментарий, но у меня недостаточно репутации).

В моей системе приведенный выше код с

if __name__ == "__main__":
    app = wx.App(0)
    frame_1 = wx.wizard.Wizard(None)
    s = SimplePage(frame_1,"")

    app.SetTopWindow(frame_1)
    s.Show()
    frame_1.Show()
    app.MainLoop()

Не дает границы на DC (есть граница, которая является частью оформления окна верхнего уровня.

Я проверил это на Windows (WX 2.8.10.1 Python 2.4.4) и Linux (WX 2.8.6.1 GTK)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...