wxPython, установить значение StaticText () - PullRequest
26 голосов
/ 16 ноября 2008

В настоящее время я создаю небольшой графический интерфейс для приложения с использованием wxPython.

Я использую 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:)

Приветствия

Ответы [ 2 ]

59 голосов
/ 16 ноября 2008

Если вы используете 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)

Как уже упоминалось, документы wxWidgets часто намного проще в использовании, чем документы wxPython . Чтобы увидеть, что функция SetLabel () может быть применена к экземпляру wx.StaticText, вам нужно пройти вверх по иерархии пространства имен в документах wxPython к суперклассу wxWindow , из которого подкласс wx.StaticText подклассифицирован. , В wxPython есть несколько вещей, отличающихся от wxWidgets, и выяснить, кто они есть, может быть непросто. К счастью, в большинстве случаев это удобные функции, которые были добавлены в wxPython и отсутствуют в wxWidgets.

23 голосов
/ 16 ноября 2008

wx.TextCtrl имеет стиль под названием wx.TE_READONLY. Используйте это, чтобы сделать его только для чтения.

В качестве sidenode вы можете использовать C ++ wxWidgets Manual для wxPython. Там, где требуется специальная обработка для wxPython или других портов, в руководстве часто указывается на разницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...