Как сделать выбор из wx.choice перед следующим событием? - PullRequest
0 голосов
/ 23 апреля 2019

Мне нужно заполнить поле, а именно wx.choice, необходимое для заполнения перед отправкой формы (или нажатием кнопки отправки).Я не знаю строку кода, которую я должен использовать.

Исследование привело меня к функции wx.validator.Это правильно?

У меня нет доступного кода.

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

1 Ответ

0 голосов
/ 24 апреля 2019

Это намного проще.
Когда вы активируете код сохранения / отправки, проверьте, был ли сделан правильный выбор.например,

import wx
class My_Class(wx.Frame):

    def __init__(self, *args, **kwargs):
        wx.Frame.__init__(self,size=(510,300), *args, **kwargs)
        self.mychoices=["choose","choice 1","choice 2","choice 3"]
        self.panel = wx.Panel(self)
        self.message = wx.StaticText(self.panel, wx.ID_ANY, ("Make a Choice"),pos=(10,20))
        self.choose = wx.Choice(self.panel, wx.ID_ANY, choices=self.mychoices,pos=(120,20),size=(80,30))
        self.save = wx.Button(self.panel, wx.ID_ANY, "Save",pos=(120,50),size=(50,30))
        self.choose.SetSelection(0)
        self.save.Bind(wx.EVT_BUTTON, self.OnSave)
        self.Show()

    def OnSave(self,event):
        choice = self.choose.GetSelection()
        text = self.choose.GetString(choice)
        if choice < 1:
            wx.MessageBox('You have not made a choice - Save cancelled!', 'Error', wx.OK | wx.ICON_INFORMATION)
            return
        else:
            wx.MessageBox('Your submission '+text+' as been activated!', 'Success', wx.OK | wx.ICON_INFORMATION)

if __name__ == '__main__':
    app = wx.App()
    frame = My_Class(None)
    app.MainLoop()

enter image description here

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