读书人

限定QLineEdit只接收某一范畴的整数

发布时间: 2012-08-31 12:55:03 作者: rapoo

限定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

?

读书人网 >编程

热点推荐