【发布时间】:2015-04-19 08:10:18
【问题描述】:
我对 qlineedit 进行了子类化,并编写了一个具有默认文本的自定义行编辑。默认文本是灰色的,直到用户开始向其中写入一些文本。行编辑也有时间掩码输入。它只接受 23:59:59 范围内的输入。
问题是当行编辑为空且默认文本显示为灰色时,光标也是灰色的。我想知道如何在默认文本为灰色时将光标颜色更改为黑色。
我试图覆盖paintevent。我看了qlineedit的源码,看到QLineControl::DrawCursor负责在paintevent中绘制光标。但我不知道如何更改笔颜色,以便影响光标颜色。关于如何做到这一点的任何想法? tnx。
void QCustomLineEdit::paintEvent(QPaintEvent * pe)
{
QLineEdit::paintEvent(pe);
QPainter painter;
painter.begin(this);
painter.setPen(Qt::red);
painter.end();
}
【问题讨论】:
标签: colors cursor qt4 paintevent