gpt4 book ai didi

c++ - Qt Validators - 我如何拒绝中间结果?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:23:24 27 4
gpt4 key购买 nike

据我了解,验证器可以返回三个结果:无效、中等和可接受。假设我的行编辑有一个带有以下正则表达式的正则表达式验证器集:

[ab][cd]

因此,有效值为:acadbcbd:

如果我尝试输入任何其他字符,例如 e0,行编辑将不允许我实际输入。但是,如果我输入 a 并切换到另一个控件,它不会有任何问题,尽管值 a 是 Not Acceptable ,而是中间值。

这就是我所追求的。如果输入 Not Acceptable ,我希望行编辑拒绝我将焦点切换到任何其他控件。也就是说,我需要输入一个完全满足我的正则表达式的行,以便我可以切换焦点。否则我希望我的表单/对话框等拒绝我切换焦点的能力。

是否有一种直接的单行方式来执行此操作,还是我必须手动执行此操作?如果是后者,执行此操作的标准方法是什么?

最佳答案

有一个QApplication::focusChanged()信号。您可以捕获它,如果您的小部件的结果是有效的或中间的,则明确地检查它,并采取适当的行动。

我不知道单线解决方案,但它可能仍然存在。我的解决方案有点手动。

另见 What is the signal for when a widget loses focus?

关于c++ - Qt Validators - 我如何拒绝中间结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22667229/

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