Обработка ошибок wxpython: textctrl пустой ввод - PullRequest
0 голосов
/ 12 декабря 2018

Я немного новичок в изучении wxpython и столкнулся с проблемой, которую я не знаю, как исправить.

Я создаю генератор случайных токенов, который будет выполняться только в том случае, если пользовательвводит ее / его имя.Я хотел поставить обработку ошибок, если пользователь нажал Next без ввода его имени.

Мой код выглядит примерно так:

inputtext = wx.TextCtrl(parent = self, value = 'Type here.', pos = (150, 280), size = (200, 50), style = wx.TE_CENTRE)
    inputtext.SetFont((wx.Font(18, wx.SWISS, wx.NORMAL, wx.LIGHT)))
    inputtext.SetFocus()

    if inputtext.GetValue() == "":
        error = wx.MessageDialog(parent = self, label = "Please type in your name or alias!", title = "Empty input",
                                 pos = (50,50), style = wx.OK | wx.ICON_EXCLAMATION)
        answer = error.ShowModal()
        error.Destroy()
        self.inputtext.Focus()
        return

Диалоговое окно сообщения не отображается.Я почти уверен, что с моим кодом что-то не так, но не могу понять, что именно.Я хочу, чтобы эта часть моей программы делала 3 вещи:

  • Иметь текст по умолчанию (тот, который говорит "Введите здесь"), который будет удален / очищен, когда пользователь наведет на него курсор и введетих ввод
  • Ввод от пользователя, который будет сохранен при нажатии пользователем следующей кнопки
  • Обработка ошибок, если пользователь сразу щелкнул следующий, не вводя ничего

Есть ли способ сделать это без использования функций или классов?

...