#!/usr/bin/env python """With PyQt 2.4, I get infinite recursion on typing a character."""
import sys from qt import * class FloatValidator(QDoubleValidator): def fixup(self, input): QDoubleValidator.fixup(self, input) if input.length() == 0: input.insert(0, "None") def validate(self, input, posn): state, posn = QDoubleValidator.validate(self, input, posn) if state != QValidator.Invalid: return state, posn if input == "None": return QValidator.Acceptable, posn elif "None".find(str(input)) == 0: return QValidator.Intermediate, posn ## else: ## return QValidator.Invalid, posn class FloatLineEdit(QLineEdit): """Floating-point LineEdit, accepts empty input as 'None'.""" def __init__(self, *args): QLineEdit.__init__(self, *args) # self.setValidator(QDoubleValidator(self)) self.setValidator(FloatValidator(self)) def sizeHint(self): sz = QLineEdit.sizeHint(self) return QSize(sz.width()/2, sz.height()) a = QApplication(sys.argv) mw = FloatLineEdit(None) #mw = QLineEdit(None) mw.show() a.connect(a, SIGNAL("lastWindowClosed()"), a, SLOT("quit()")) a.exec_loop() # Also, QMessageBox.about doesn't seem look for icon method in parent # (sorry, no example code), contrary to the Qt docs. # John _______________________________________________ PyKDE mailing list [EMAIL PROTECTED] http://mats.gmd.de/mailman/listinfo/pykde