如何在输入遮罩模式下使LineEdit的光标变细?

时间:2019-07-03 07:21:40

标签: qt qlineedit

这是LineEdit正常模式下的光标

enter image description here

这是有输入掩码时的光标

enter image description here

如您所见,带有输入掩码的光标变粗了。如何修改QLineEdit以像输入模式下的普通模式一样获得细光标?

1 个答案:

答案 0 :(得分:0)

我认为不重新实现QLineEdit就无法做任何事情。

但是我不认为你应该这样做。光标的外观具有含义:

  • 位于字符之间的细光标意味着您将插入文本,移动现有的文本。
  • 突出显示字符的粗体光标意味着您将替换文本,覆盖现有文本。

请注意,这不是Qt,而是通用的。例如,如果您打开命令提示符,则按下“ Inser”键会将光标从一种模式更改为另一种模式;

当您使用输入掩码时,QLineEdit在替换模式下工作,因此具有粗大的光标非常好。

强制光标以稀疏模式显示会误导用户,并且是一个非常糟糕的UX想法。

编辑

另一个解决方案是使用QRegularExpressionValidator之类的QValidator。它与输入掩码的行为不完全相同,但是其目的相同,不会强制执行插入模式。