Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This is a feature of wxWidgets, and is not implemented in wxPython.</p> <p><a href="http://www.wxpython.org/docs/api/wx.TextValidator-class.html" rel="noreferrer">http://www.wxpython.org/docs/api/wx.TextValidator-class.html</a> - not found</p> <p>while:</p> <p><a href="http://docs.wxwidgets.org/trunk/classwx_text_validator.html" rel="noreferrer">http://docs.wxwidgets.org/trunk/classwx_text_validator.html</a> <a href="http://docs.wxwidgets.org/stable/wx_wxtextvalidator.html" rel="noreferrer">http://docs.wxwidgets.org/stable/wx_wxtextvalidator.html</a></p> <p>There is a demo of the Validators in the wxPython demo:</p> <pre><code>import wx class TextObjectValidator(wx.PyValidator): """ This validator is used to ensure that the user has entered something into the text object editor dialog's text field. """ def __init__(self): """ Standard constructor. """ wx.PyValidator.__init__(self) def Clone(self): """ Standard cloner. Note that every validator must implement the Clone() method. """ return TextObjectValidator() def Validate(self, win): """ Validate the contents of the given text control. """ textCtrl = self.GetWindow() text = textCtrl.GetValue() if len(text) == 0: wx.MessageBox("A text object must contain some text!", "Error") textCtrl.SetBackgroundColour("pink") textCtrl.SetFocus() textCtrl.Refresh() return False else: textCtrl.SetBackgroundColour( wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW)) textCtrl.Refresh() return True def TransferToWindow(self): """ Transfer data from validator to window. The default implementation returns False, indicating that an error occurred. We simply return True, as we don't do any data transfer. """ return True # Prevent wxDialog from complaining. def TransferFromWindow(self): """ Transfer data from window to validator. The default implementation returns False, indicating that an error occurred. We simply return True, as we don't do any data transfer. """ return True # Prevent wxDialog from complaining. #---------------------------------------------------------------------- class TestValidateDialog(wx.Dialog): def __init__(self, parent): wx.Dialog.__init__(self, parent, -1, "Validated Dialog") self.SetAutoLayout(True) VSPACE = 10 fgs = wx.FlexGridSizer(0, 2) fgs.Add((1,1)); fgs.Add(wx.StaticText(self, -1, "These controls must have text entered into them. Each\n" "one has a validator that is checked when the Okay\n" "button is clicked.")) fgs.Add((1,VSPACE)); fgs.Add((1,VSPACE)) label = wx.StaticText(self, -1, "First: ") fgs.Add(label, 0, wx.ALIGN_RIGHT|wx.CENTER) fgs.Add(wx.TextCtrl(self, -1, "", validator = TextObjectValidator())) fgs.Add((1,VSPACE)); fgs.Add((1,VSPACE)) label = wx.StaticText(self, -1, "Second: ") fgs.Add(label, 0, wx.ALIGN_RIGHT|wx.CENTER) fgs.Add(wx.TextCtrl(self, -1, "", validator = TextObjectValidator())) buttons = wx.StdDialogButtonSizer() #wx.BoxSizer(wx.HORIZONTAL) b = wx.Button(self, wx.ID_OK, "OK") b.SetDefault() buttons.AddButton(b) buttons.AddButton(wx.Button(self, wx.ID_CANCEL, "Cancel")) buttons.Realize() border = wx.BoxSizer(wx.VERTICAL) border.Add(fgs, 1, wx.GROW|wx.ALL, 25) border.Add(buttons) self.SetSizer(border) border.Fit(self) self.Layout() app = wx.App(redirect=False) f = wx.Frame(parent=None) f.Show() dlg = TestValidateDialog(f) dlg.ShowModal() dlg.Destroy() app.MainLoop() </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload