Un frame ordinario en wxPython se puede construir de manera muy sencilla, heredando simplemente de wx.Frame.
import wx
class TestFrame(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent=parent,title=title,size=(400,300))
self.Show()
if __name__=='__main__':
app = wx.App()
fr = TestFrame(None, "Mi Frame")
app.MainLoop()SetBackgroundColour, al cual debemos pasarle como argumento un objeto de la clase wx.Colour o bien una cadena en notación hexadecimal para especificar el color.import wx
class TestFrame(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent=parent,title=title,size=(400,300))
# Modificando el color de fondo
rojo = wx.Colour(255,0,0)
# rojo = "#ff0000" # Equivalente en notación hexadecimal
self.SetBackgroundColour(rojo)
self.Show()
if __name__=='__main__':
app = wx.App()
fr = TestFrame(None, "Mi Frame")
app.MainLoop()SetIcon, al cual debemos pasarle como argumento un objeto de la clase wx.Icon. Para instanciar un objeto de wx.Iconnecesitamos simplemente pasar como argumento la ruta de la imagen/ícono.import wx
class TestFrame(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self,parent=parent,title=title,size=(400,300))
# Colocando un ícono
icono = wx.Icon("icono.png")
self.SetIcon(icono)
# ...
self.Show()
if __name__=='__main__':
app = wx.App()
fr = TestFrame(None, "Mi Frame")
app.MainLoop()wx.DEFAULT_FRAME_STYLE. Para modificarlo debemos pasar el keyword argument style con una lista de estilos determinados. Para nuestro caso de una ventana no redimensionable:import wx
class TestFrame(wx.Frame):
def __init__(self,parent,title):
styles = (wx.CLOSE_BOX|wx.CAPTION)
wx.Frame.__init__(self,parent=parent,title=title,size=(400,300),
style=styles)
self.Show()
if __name__=='__main__':
app = wx.App()
fr = TestFrame(None, "Mi Frame")
app.MainLoop()wx.CAPTION:import wx
class TestFrame(wx.Frame):
def __init__(self,parent,title):
styles = wx.DEFAULT_FRAME_STYLE & ~ (wx.CAPTION)
wx.Frame.__init__(self,parent=parent,title=title,size=(400,300),
style=styles)
self.SetBackgroundColour("#ff00ff")
self.Show()
if __name__=='__main__':
app = wx.App()
fr = TestFrame(None, "Mi Frame")
app.MainLoop()wx.DEFAULT_FRAME_STYLE & ~ (wx.CAPTION) toma todos los estilos incluidos en wx.DEFAULT_FRAME_STYLE, exceptuando a wx.CAPTION, un poco de combinación de operaciones lógicas AND-NOT.