Ich möchte ein Textsteuerelement haben, das nur Zahlen akzeptiert. (Nur ganzzahlige Werte wie 45 oder 366)
Wie lässt sich dies am besten bewerkstelligen?
Ich möchte ein Textsteuerelement haben, das nur Zahlen akzeptiert. (Nur ganzzahlige Werte wie 45 oder 366)
Wie lässt sich dies am besten bewerkstelligen?
Ich wollte das Gleiche, aber für Floats, also habe ich die folgende Methode in der Klasse verwendet:
def force_numeric(self, event, edit):
raw_value = edit.GetValue().strip()
keycode = event.GetKeyCode()
if keycode < 255:
print('keycode:', keycode,'chr(keycode) ', chr(keycode))
if chr(keycode).isdigit() or chr(keycode)=='.' and '.' not in raw_value:
print('skip')
event.Skip()
um das Ereignis im Konstruktor zu registrieren:
item = wx.TextCtrl(self.panel, -1, str(pose_config['locref_stdev']))
item.Bind(wx.EVT_CHAR, lambda event: self.force_numeric(event, item))
Abänderung der obigen Antwort
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.