限定QLineEdit只接收某一范围的整数
PyQt4 4.7.4 (注意:PySide 0.4.2 有bug)
Python2.7 + Qt 4.7.0#!/usr/bin/env python#--*-- coding:utf-8 --*--# (C) dbzhang800 2010import systry:raise ImportErrorfrom PySide import QtCore, QtGuiexcept ImportError:import sipsip.setapi("QString", 2)from PyQt4 import QtCore, QtGuiclass Validator(QtGui.QIntValidator):def __init__(self, minimun, maximum, parent):super(Validator, self).__init__(minimun, maximum, parent)def fixup(self, input): # not work in PySide 0.4.2 return str(self.bottom())class Dialog(QtGui.QDialog):def __init__(self, parent=None):super(Dialog, self).__init__(parent)self.lineEdit = QtGui.QLineEdit()self.validator = Validator(100,200, self)self.lineEdit.setValidator(self.validator)self.spinBox = QtGui.QSpinBox()self.spinBox.setRange(100, 200)self.spinBox.setButtonSymbols(QtGui.QAbstractSpinBox.NoButtons)vbox = QtGui.QVBoxLayout(self)vbox.addWidget(self.lineEdit)vbox.addWidget(self.spinBox)self.setWindowTitle('Qt Validator')if __name__ == '__main__':app = QtGui.QApplication(sys.argv)dlg = Dialog()dlg.show()sys.exit(app.exec_())来源:http://hi.baidu.com/cyclone/blog/item/663709236315e95e925807d1.html?