gpt4 book ai didi

python - 如何限制Qlineedit输入?

转载 作者:太空宇宙 更新时间:2023-11-03 14:10:03 25 4
gpt4 key购买 nike

我有一个 QLineEdit,我想限制在其中输入一些字符。我使用过 QValidator,但我发现它不能(或者也许我不知道如何)限制仅输入某些字符,因为它所做的只是允许某些输入,更进一步,设置输入限制,如 [a-z-A-Z-0- 9] 之类的也会限制 Unicode 字符输入,这不是我想要的。有没有办法可以设置阻止列表来防止输入一些非法字符?谢谢!

最佳答案

一种解决方案是实现您自己的QValidator,如下所示:

class LettersValidator(QValidator):
def __init__(self, options, *args, **kwargs):
QValidator.__init__(self, *args, **kwargs)
self._options = options

def validate(self, value, pos):
if len(value) > 0:
if value[-1] in self._options:
return QValidator.Acceptable, value, pos
else:
if value == "":
return QValidator.Intermediate, value, pos
return QValidator.Invalid, value, pos


if __name__ == '__main__':
app = QApplication(sys.argv)
w = QLineEdit()
w.setValidator(LettersValidator("tam"))
w.show()
sys.exit(app.exec_())

关于python - 如何限制Qlineedit输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com