wxPython,设置StaticText()的值

wxPython,设置StaticText()的值,python,wxpython,Python,Wxpython,目前,我正在使用wxPython为一个应用程序制作一个小型GUI前端 我正在使用wx.StaticText()创建一个放置一些文本的位置,代码如下: content = wx.StaticText(panel, -1, "Text Here", style=wx.ALIGN_CENTRE) 当单击从MySQL检索数据时,我有一个按钮,我想将StaticText()的值更改为MySQL数据,或者我可以使用什么来保存数据 我已尝试使用以下方法: contents = wx.TextCtrl(bkg

目前,我正在使用wxPython为一个应用程序制作一个小型GUI前端

我正在使用
wx.StaticText()
创建一个放置一些文本的位置,代码如下:

content = wx.StaticText(panel, -1, "Text Here", style=wx.ALIGN_CENTRE)
当单击从MySQL检索数据时,我有一个按钮,我想将
StaticText()
的值更改为MySQL数据,或者我可以使用什么来保存数据

我已尝试使用以下方法:

contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE | wx.HSCROLL)
content.SetValue("New Text")
这显示数据很好,但加载数据后,您可以编辑数据,我不希望这样

希望你们理解我在做什么,我是Python新手:)


Cheers

wx.TextCtrl
的样式称为
wx.TE_READONLY
。使用该选项将其设置为只读

作为侧节点,您也可以使用for wxPython。如果需要对wxPython或其他端口进行特殊处理,手册通常会指出区别。

如果您使用的是

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)

正如litb提到的,wxWidgets文档通常比。为了查看SetLabel()函数是否可以应用于wx.StaticText实例,您必须沿着wxPython文档中的命名空间层次结构向上移动到,wx.StaticText就是从中派生的。wxPython与wxWidgets有一些不同之处,找出它们是什么很有挑战性。幸运的是,很多时候,不同之处在于wxPython中添加的便利功能,而wxWidgets中没有这些功能。

我当然想知道为什么wxPython文档(wx.StaticText)中没有像SetLabel这样的功能+1.谢谢你澄清这一点out@Ariel因为它是基类
wx.Window
中的一个方法: