首页 > 其他 > 详细

全能,OnSize的使用,部分覆盖后重画,都没有问题

时间:2014-03-26 07:41:28      阅读:481      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
import wx

class View(wx.Panel):
    def __init__(self, parent):
        super(View, self).__init__(parent)
        self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM)
        self.Bind(wx.EVT_SIZE, self.on_size)
        self.Bind(wx.EVT_PAINT, self.on_paint)
    def on_size(self, event): # 没有这个事件,改变尺寸的时候就全乱了
        event.Skip()
        self.Refresh()
    def on_paint(self, event):
        w, h = self.GetClientSize()
        dc = wx.AutoBufferedPaintDC(self) # 图像被部分覆盖,移开后可随时恢复图像,但改成PaintDC就不行
        dc.Clear()

        dc.DrawLine(0, 0, w, h)
        dc.SetPen(wx.Pen(wx.BLACK, 5))
        dc.DrawCircle(w / 2, h / 2, 100)

class Frame(wx.Frame):
    def __init__(self):
        super(Frame, self).__init__(None)
        self.SetTitle(My Title)
        self.SetClientSize((500, 500))
        self.Center()
        self.view = View(self)

def main():
    app = wx.App(False)
    frame = Frame()
    frame.Show()
    app.MainLoop()

if __name__ == __main__:
    main()
bubuko.com,布布扣

全能,OnSize的使用,部分覆盖后重画,都没有问题,布布扣,bubuko.com

全能,OnSize的使用,部分覆盖后重画,都没有问题

原文:http://www.cnblogs.com/findumars/p/3624696.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!