当前位置:  开发笔记 > 编程语言 > 正文

wxPython,设置StaticText()的值

如何解决《wxPython,设置StaticText()的值》经验,为你挑选了2个好方法。

我正在使用wxPython为应用程序制作一个小的GUI前端.

wx.StaticText()用来创建一个地方来保存一些文本,代码如下:

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

点击时我有一个按钮从MySQL检索数据,我想改变StaticText()MySQL数据的值或者我还能用什么来保存数据.

我尝试过使用以下方法:

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

这显示数据正常,但加载数据后,您可以编辑数据,我不希望这样.

希望你们明白我想做什么,我是Python新手:)

干杯



1> DrBloodmoney..:

如果您使用的是wx.StaticText(),您可以:

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文档通常比wxPython文档更容易使用.为了看到SetLabel()函数可以应用于wx.StaticText实例,您必须将wxPython文档中的命名空间层次结构向上移动到wxWindow超类,wx.StaticText是子类的子类.wxWyts在wxPython中有一些不同的东西,找出它们的含义可能很有挑战性.幸运的是,很多时候,差异是已添加到wxPython的便捷函数,而在wxWidgets中找不到.


我当然想知道为什么没有像SetLabel那样的wxPython文档(wx.StaticText).+1清除它

2> Johannes Sch..:

wx.TextCtrl有一种叫做的风格wx.TE_READONLY.使用它使其成为只读.

作为sidenode,您可以使用WxPython 的C++ wxWidgets手册.如果需要对wxPython或其他端口进行特殊处理,手册通常会指出差异.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有