如何使用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/

10-12 18:31