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();
}