PyQt:QLineEdit输入掩码仅用于整数或字符串和长度限制

2024-09-28 01:23:12 发布

您现在位置:Python中文网/ 问答频道 /正文

这是两个问题(都可以通过InputMask解决?)

  1. 我想将用户输入限制为仅16个字符
  2. 在“Age/ID”之类的字段中,我希望用户的输入仅为整数,如果用户输入字符串,则不能接受该字符串,或者用户不能首先键入字符串

我不确定如何实时实现第一部分,也就是说,用户输入的最大值为16,没有超过16的内容出现

这是问题第二部分的代码(不起作用):

self.onlyInt = QIntValidator()
self.lineEdit_15.setValidator(self.onlyInt)
det15=str(self.lineEdit_15.text())
list_val.append(det15)

Tags: 字符串代码用户selfid内容age键入
1条回答
网友
1楼 · 发布于 2024-09-28 01:23:12

要解决第一个问题,我们只需确定最大尺寸:

self.lineedit_15.setMaxLength(16)

相比之下,第二个QIntValidator问题的最大值仅等于2147483647,因为它是最大整数:2**31-1,解决方案是使用正则表达式:

rx = QRegExp("\d+")
self.lineedit_15.setValidator(QRegExpValidator(rx))

相关问题 更多 >

    热门问题