WxPython importa widgets de otras clases.
Soy principiante en WxPython y he intentado experimentar dividiendo el código para que esté organizado y se vea más limpio. Lo he intentado con un código simple pero no funciona. ¿Alguien puede echarme una mano?
El código que he intentado:
import wx
class text_ctrl (wx.Panel):
def init(self, parent):
wx.Panel.init(self, parent = parent)
text = wx.TextCtrl(self, pos = (100, 100))
class Window(wx.Frame):
def init(self):
super().init(parent = None, title = "Learn - Tab TextBox")
panel = wx.Panel()
text_ctrl(self)
self.Show()
if name == "main":
app = wx.App()
window = Window()
app.MainLoop()
Problema: La caja de texto no aparece (que se supone que es el punto principal).
davy.ai
Hay un par de problemas con el código que podrían estar causando que el cuadro de texto no aparezca:
text_ctrl
no se está instanciando correctamente en la claseWindow
. En lugar detext_ctrl(self)
, debería sertext_ctrl(panel)
para que el cuadro de texto se añada como un widget secundario del panel.Hay un error ortográfico en el método
__init__
de la clasetext_ctrl
. El nombre del método debería ser__init__
(con dos guiones bajos a cada lado) en lugar de__init
.Aquí tienes una versión corregida del código:
Con estos cambios, el cuadro de texto debería aparecer ahora en el panel.