问题标签 [qvalidator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - QDoubleValidator 不工作?
我正在尝试在 Qt 4.2 的行编辑框中应用验证器,但它不起作用:
或者
无论哪种方式,我仍然可以输入我想要的任何值。
但如果我切换到QIntValidator
,它的工作原理!
所以我去谷歌搜索了一下,很多人曾经遇到过同样的问题。它是一个错误吗?或者我应该做一些其他的设置?
c++ - 从 QLineEdit::textEdited() 内部获取编辑前的文本
当我收到QLineEdit::textEdited()
信号时,我能看到编辑前的文本吗?我需要比较编辑前的文本和编辑后的文本。
该textEdited()
信号只有一个参数,即新文本。调用QLineEdit::text()
还会返回新文本。
现在我只能想到将旧文本保存在 QString 中,并在每次进行编辑时更新该 QString,但是我需要考虑程序更改(通过 进行QLineEdit::setText()
)。
或者是否有另一种方法来拦截文本更改(也许通过验证器),这将允许我同时在更改之前和更改之后获取文本?最好仅用于用户更改(非编程)。
qt - 以编程方式验证 QLineEdit
我有QLineEdit
一个QDoubleValidator
,调用QDoubleValidator::setRange
不会验证QLineEdit
.
我如何以编程方式验证(通过鼠标工作聚焦和不聚焦)
这是我继承的代码QDoubleValidator
我继承的代码QLineEdit
:
当我打电话DoubleLineEdit::setRange()
时,当前的文本DoubleLineEdit
没有经过验证和修复。
使用此代码,edit->text()
仍然是 100,我希望它自动更改为 10。
我已经实现了一个工作DoubleLineEdit::validate
方法:
但这更像是一个技巧,也许有更好的解决方案。
qt - 在 QTableView 中验证用户输入
我有一个QTableView
并且我想验证用户输入。如果用户在 的单元格中插入无效值QTableView
,我想突出显示该单元格并禁用QPushButton
.
我怎样才能做到这一点?我可以使用QValidator
吗?
c++ - QDoubleValidator 接受多个小数点
我正在QDoubleValidator
为我的QLineEdit
. 应用程序语言环境(在 QtCreator 中设置)是QLocale::German
.
现在,当我输入一个有效的双精度(使用点或逗号作为小数分隔符)写入 textedit 以及将字符串转换为浮点数时,效果非常好。但验证器还允许我编写带有多个小数分隔符的内容。字符串喜欢123.567,890
或,,03.4...
得到验证,但不能转换为浮点数。
有没有办法告诉QDoubleValidator
只验证实数而不仅仅是没有字母字符的字符串?
我基本上想要一个验证器,它只验证字符串,可以使用默认语言环境或德语语言环境转换为浮点数。
regex - 没有小数点的 QLineEdit
我希望 QLineEdit 只接受没有任何小数的数字。例如,它应该接受“456”但不接受“456.3434”。即它根本不应该允许小数。任何人都可以给出一些指示,我该怎么做。
我尝试使用 QIntValidator,但它仍然允许输入小数点,当我从 QLinEdit 转换文本时,它返回零(如文档所述,如果转换失败,它将返回零)。
我也尝试使用QRegExpValidator(QRegExp(“[0-9]”),但它只允许一个数字。最大数字没有限制,我如何指定QRegExp最小值为0,最大值为未定义,如果QRegExpValidator 是唯一的实现方法吗?
谢谢
python - pyqt - 在验证器中包含 NoneType?
我正在为 qlineedit 小部件添加双重验证器。但实际上该行可能是空的,即数据是 NoneType。但是在这种情况下,我不希望验证器弹出警告,例如:
请输入 0.000 到 10000.000 之间的值
添加 Validator 时,有什么方法可以将 NoneType 添加为排除实例?
非常感谢!
python - QValidator 修复问题
以下是我验证帐户代码并以特定间隔添加破折号的代码。一个示例帐户代码是140-100-1000-6610-543
。该代码采用正则表达式:\d{3}-\d{3}-\d{4}-\d{4}-\d{3]
并允许用户输入数字,并且在正则表达式中有破折号的地方,它为用户放置破折号。或者更确切地说,它应该。在我们的生产服务器上 (('Qt version:', '4.8.1'), ('SIP version:', '4.13.2'), ('PyQt version:', '4.9.1')) 它确实有效. 我们的开发服务器升级到 ('Qt version:', '4.8.6'), ('SIP version:', '4.15.5'), ('PyQt version:', '4.10.4')不在那里工作。
在每台服务器上,我输入140
. 在生产(旧版本)上,行编辑值更改为140-
. 在较新版本的开发服务器上,它不会添加破折号。
如果您看到我的问题,请告诉我,如果这是 PyQt 问题或 Qt 问题,请告诉我。
regex - QLineEdit:如何防止用户输入星号(*)?
我在我的应用程序中使用 QLineEdit。我想阻止用户在文本的任何地方输入“*”。我尝试使用 QRegExpValidator 但无法设置正确的正则表达式。请帮忙。
c++ - 带有 QValidator 的 QLineEdit:无论输入有效性如何,都对编辑完成做出反应?
QLineEdit
当用户完成编辑时发出一个信号QLineEdit::editingFinished
,例如按下回车键。但是,如果设置了验证器或输入掩码,则editingFinished
只有在输入有效时才会发出。
但是,无论输入的有效性如何,我如何对用户完成编辑做出反应?我是否必须手动检查输入、返回、小部件失去焦点等?
这样做的原因:我想创建一个自定义小部件来使用QDoubleValidator
. 当用户完成编辑并且输入无效(范围错误,空文本,...)时,我想将其重置为某个有效的默认值。像这样的东西: