Colors qt4-是否更改qlineedit中文本光标的颜色?

Colors qt4-是否更改qlineedit中文本光标的颜色?,colors,cursor,qt4,paintevent,Colors,Cursor,Qt4,Paintevent,我已经对qlineedit进行了子类化,并编写了一个自定义行编辑,它有一个默认文本。默认文本将灰显,直到用户开始向其中写入一些文本。行编辑还有一个时间掩码输入。它只接受23:59:59范围内的输入 问题是当行编辑为空且默认文本显示为灰色时,光标也是灰色的。我想知道如何在默认文本为灰色时将光标颜色更改为黑色 我已尝试覆盖该事件。我看到了qlineedit的源代码,并看到QLineControl::DrawCursor负责在paintevent中绘制光标。但我不知道如何改变笔的颜色,使其可以影响光标

我已经对qlineedit进行了子类化,并编写了一个自定义行编辑,它有一个默认文本。默认文本将灰显,直到用户开始向其中写入一些文本。行编辑还有一个时间掩码输入。它只接受23:59:59范围内的输入

问题是当行编辑为空且默认文本显示为灰色时,光标也是灰色的。我想知道如何在默认文本为灰色时将光标颜色更改为黑色

我已尝试覆盖该事件。我看到了qlineedit的源代码,并看到QLineControl::DrawCursor负责在paintevent中绘制光标。但我不知道如何改变笔的颜色,使其可以影响光标的颜色。有什么办法吗?tnx

 void QCustomLineEdit::paintEvent(QPaintEvent * pe)
 {
    QLineEdit::paintEvent(pe);
    QPainter painter;
    painter.begin(this);
    painter.setPen(Qt::red);
    painter.end();
 }

QLineEdit
有一个名为
placeholder text
的属性,可用于设置编辑框中没有文本时显示的灰色文本。光标颜色不会更改,当您开始键入占位符文本时,占位符文本将消失


是的,我知道那家酒店。我没有使用该属性并重写自己的qlineEdit,因为我希望每次光标回到0位置时,默认文本都会再次出现。但是使用这个属性并不能提供我想要的功能。