instalar examples como python wxpython

examples - wxpython python 3



wxPython, establecer el valor de StaticText() (2)

Estoy haciendo una pequeña interfaz gráfica de usuario para una aplicación en este momento usando wxPython.

Estoy usando wx.StaticText() para crear un lugar para contener algo de texto, código a continuación:

content = wx.StaticText(panel, -1, "Text Here", style=wx.ALIGN_CENTRE)

Cuando hago clic en un botón recupero datos de MySQL, deseo cambiar el valor de StaticText() a los datos de MySQL o qué otra cosa podría usar para mantener los datos.

He intentado usar el siguiente método:

contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE | wx.HSCROLL) content.SetValue("New Text")

Esto muestra bien los datos, pero después de que se carguen los datos, puede editar los datos y no quiero esto.

Espero que entiendan lo que estoy tratando de hacer, soy nuevo en Python :)

Aclamaciones


Si está usando un wx.StaticText () puede simplemente:

def __init__(self, parent, *args, **kwargs): #frame constructor, etc. self.some_text = wx.StaticText(panel, wx.ID_ANY, label="Awaiting MySQL Data", style=wx.ALIGN_CENTER) def someFunction(self): mysql_data = databasemodel.returnData() #query your database to return a string self.some_text.SetLabel(mysql_data)

Como mencionado litb, los documentos de wxWidgets son a menudo mucho más fáciles de usar que los documentos de wxPython . Para ver que la función SetLabel () se puede aplicar a una instancia de wx.StaticText, debe subir la jerarquía del espacio de nombres en wxPython docs a la superclase wxWindow , desde la cual se subclasifica wx.StaticText. Hay algunas cosas diferentes en wxPython de wxWidgets, y puede ser un desafío averiguar cuáles son. Afortunadamente, la mayoría de las veces, las diferencias son funciones de conveniencia que se han agregado a wxPython y no se encuentran en wxWidgets.


wx.TextCtrl tiene un estilo llamado wx.TE_READONLY . Úselo para que sea de solo lectura.

Como un sidenode, también puede usar el Manual de C ++ wxWidgets para wxPython. Cuando se requiere un manejo especial para wxPython u otros puertos, el manual a menudo señala la diferencia.