如何使用pyqt的QLineEdit的输入掩码来限制9位十六进制数字。例如,
我想限制用户仅从0x300000000到0x400000000输入十六进制
最佳答案
对于此特定示例,您可以使用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()
关于python - PyQt:QLineEdit输入掩码为十六进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38778755/