我正在研究 QT v5.2
我需要隐藏 QLineEdit
的闪烁光标(插入符号)永久。
但同时,我想要 QLineEdit
可编辑(所以 readOnly 和/或设置 editable false 对我来说不是一个选项)。
我已经在更改 QLineEdit
的背景颜色当它聚焦时,我就会知道是哪个 QLineEdit
小部件正在编辑。
对于我的要求,光标(闪烁的文本光标)显示不应该在那里。
我试过 styleSheets
,但我无法隐藏光标 ( {color:transparent; text-shadow:0px 0px 0px black;} )
有人可以让我知道我怎样才能做到这一点?
最佳答案
没有标准的方法可以做到这一点,但您可以使用 setReadOnly
隐藏光标的方法。当您调用此方法时,它会禁用键的处理,因此您需要强制执行它。
继承自 QLineEdit 并重新实现 keyPressEvent
.
LineEdit::LineEdit(QWidget* parent)
: QLineEdit(parent)
{
setReadOnly(true);
}
void LineEdit::keyPressEvent(QKeyEvent* e)
{
setReadOnly(false);
__super::keyPressEvent(e);
setReadOnly(true);
}
关于qt - 隐藏 QLineEdit 闪烁的光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25180628/