我有一个设置'我的申请中的对话框。对话框中有QLineEdit
来设置参数。该参数应该是一个数字。当用户在QLineEdit
中键入文字并按Enter
或按其他小部件时,我会从QLineEdit
读取文字,如果文字不是数字,我会将之前的号码放在QLineEdit
中。现在,如果用户在QLineEdit
中键入了错误的文本,我希望QLineEdit
闪烁(如用户按下其他组件时模态对话框闪烁)3秒钟。我该怎么办?
答案 0 :(得分:1)
最好的办法是创建一个继承自QLineEdit
的自定义窗口小部件但是,实现您想要做的另一种快速方法是将编辑连接到使QTimer启动的插槽。然后将timeout()信号连接到更改QLineEdit样式表的插槽。 无需为此实现单独的QThread。
答案 1 :(得分:0)
这是复杂的王者,你必须重载paint()
函数。您可以使用Regexp
:
#include <QRegExpValidator>
[...]
QLineEdit editor;
QRegExp rx("([0-9])");
editor.setValidator(new QRegExpValidator(rx, this));