Ash*_*esh 6 qt cursor caret hide qlineedit
我正在研究QT v5.2
我需要QLineEdit永久隐藏闪烁的光标(插入符号).但与此同时,我希望它QLineEdit是可编辑的(因此readOnly和/或设置可编辑的false不适合我).
我已经在更改QLineEdit焦点时的背景颜色,因此我将知道QLineEdit正在编辑哪个小部件.根据我的要求,光标(闪烁文本光标)显示不应该在那里.
我试过了styleSheets,但我无法隐藏光标( {color:transparent; text-shadow:0px 0px 0px black;} )
有人可以告诉我如何实现这一目标?
Eze*_*zee 10
没有标准的方法可以做到这一点,但您可以使用setReadOnly隐藏光标的方法.当您调用此方法时,它会禁用键的处理,因此您需要强制它.继承自QLineEdit并重新实现keyPressEvent.
LineEdit::LineEdit(QWidget* parent)
: QLineEdit(parent)
{
setReadOnly(true);
}
void LineEdit::keyPressEvent(QKeyEvent* e)
{
setReadOnly(false);
__super::keyPressEvent(e);
setReadOnly(true);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6030 次 |
| 最近记录: |