alberthrocks

Broken code for drawing BG on wxPanel

Feb 4th, 2012
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.42 KB | None | 0 0
  1. import wx
  2. import random
  3. import os, sys
  4. import traceback
  5.  
  6. class BlahFrame(wx.Frame):
  7.     def __init__(self, parent, id, size):
  8.         wx.Frame.__init__(self, parent, id, "Hello world!", size)
  9.        
  10.         # Create panel        
  11.         self.panel = wx.Panel(self)
  12.        
  13.         # Background setup
  14.         if sys.platform == "linux22":
  15.             print "wxGTK? YUCK!"
  16.         else:
  17.             print "Loading image from: "+os.path.join(os.getcwd(), "stripebg.png")
  18.             self.bmp1 = wx.Bitmap(os.path.join(os.getcwd(), "stripebg.png"))
  19.             self.Bind(wx.EVT_PAINT, self.on_paint)
  20.             self.Bind(wx.EVT_SIZE, self.on_size)
  21.         self.SetSize(size)
  22.         self.invalidated = True
  23.         self.button1 = wx.Button(self.panel, -1, label='Button1', pos=(10, 5))
  24.         self.Show()
  25.        
  26.     def on_paint(self, event):
  27.         # Draw BG of panel
  28.         dc = wx.PaintDC(self.panel)
  29.         w, h = dc.GetSize()
  30.         # get image width and height
  31.         iw = self.bmp1.GetWidth()
  32.         ih = self.bmp1.GetHeight()
  33.         for x in range(0, self.panel.GetSize()[0], iw):
  34.             for y in range(0, self.panel.GetSize()[1], ih):
  35.                 dc.DrawBitmap(self.bmp1, x, y, True)
  36. app = wx.PySimpleApp()
  37.  
  38. try:
  39.     BlahInstance = BlahFrame(None, -1, size=(700,800))
  40.     app.SetTopWindow(BlahInstance)
  41.     app.MainLoop()
  42. except:
  43.     print "Crashed..."
  44.     traceback.print_exc()
Advertisement
Add Comment
Please, Sign In to add comment