如何使用pyqt的QLineEdit输入掩码仅限制十六进制数的9位数。例如, 我想限制用户只输入从0x300000000到0x400000000的十六进制
答案 0 :(得分:1)
对于此特定示例,您可以使用提供输入文本验证的QValidator
类,请参阅下面的示例:
import sys
from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import Qt, QRegExp
from PyQt4.QtGui import QRegExpValidator
def window():
app = QtGui.QApplication(sys.argv)
win = QtGui.QWidget()
flo = QtGui.QFormLayout()
e1 = QtGui.QLineEdit("0x300000000")
validator = QRegExpValidator(QRegExp("0x[3-4][0-9A-Fa-f]{1,8}"))
e1.setValidator(validator)
flo.addRow("Hexadecimal", e1)
win.setLayout(flo)
win.setWindowTitle("PyQt")
win.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()