首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使“`QLineEdit`”眨眼

如何使“`QLineEdit`”眨眼
EN

Stack Overflow用户
提问于 2014-07-06 15:56:48
回答 2查看 1.3K关注 0票数 1

在我的应用程序中有一个设置对话框。对话框中有设置参数的QLineEdit。这个参数应该是一个数字。当用户在QLineEdit中键入文本并按下Enter或按下另一个小部件时,我从QLineEdit读取文本,如果文本不是一个数字,则将前面的数字放在QLineEdit中。现在,如果用户在QLineEdit中输入错误的文本,我希望QLineEdit眨眼(就像用户按另一个组件时的模式对话框眨眼)3秒。我怎么发动汽车呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-07 12:13:36

最好的做法是创建一个从QLineEdit继承的自定义小部件。

但是,实现您想要做的另一种快速方法是将编辑连接到一个使QTimer启动的插槽上。然后将timeout()信号连接到更改QLineEdit样式表的插槽。不需要为此实现单独的QThread。

票数 1
EN

Stack Overflow用户

发布于 2014-07-06 16:24:11

这是一个非常复杂的问题,您必须重载paint()函数。可以使用Regexp禁止文本输入:

代码语言:javascript
复制
#include <QRegExpValidator>
[...]
QLineEdit editor;
QRegExp rx("([0-9])");
editor.setValidator(new QRegExpValidator(rx, this));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24597683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档