wxpython错误处理:textctrl空输入

时间:2018-12-12 00:22:09

标签: wxpython wx.textctrl

我在学习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件事:

  • 一旦用户将光标放在其上并输入其输入内容,就会删除/清空默认文本(显示“在此键入”的文本)
  • 用户单击下一步按钮后,用户的输入将被保存
  • 如果用户没有输入任何内容就立即单击下一步,则会进行错误处理

有没有可能不使用函数或类的方法?

0 个答案:

没有答案