QPainterを使用して線と線を異なる色で描画する際に問題に直面しています。私はこれを達成するために次のコードを使用していますが、動作しません。線とテキストの両方が、テキストを描画するために設定された色を使用して描画されます。QPainter :: drawLineとQPainter :: QTで異なる色の問題を持つdrawText
void MyWidget::drawHorLinesWithText(QPainter & painter, const QRect & rect)
{
for(int i=0; i < 5; i++)
{
QPen penHLines(QColor("#0e5a77"), 1, Qt::DotLine, Qt::FlatCap, Qt::RoundJoin);
painter.setPen(penHLines);
painter.drawLine(10, 50 - (5*(i+1)), 200, 50 - (5*(i+1)));
QString strNumber = QString::number((2)*(i+1));
painter.setFont(QFont("Arial", 8, QFont::Bold));
//QBrush brush(QColor("#00e0fc"));
//painter.setBrush(brush);
QPen penHText(QColor("#00e0fc"));//Here lines are also drawn using this color
painter.setPen(penHText);
painter.drawText(5, 50 - (5*(i+1)) - 10), 20, 30, Qt::AlignHCenter | Qt::AlignVCenter,
strNumber);
}
}
どのように線とテキストを描画するために異なる色を設定しますか?助言がありますか。ありがとう。
setPen(にあなたの最初の呼び出しでは)、あなただけ上記で作成したペンを使用しないでください。ここでコピー/ペーストしたときに追加されたタイプミスですか?あなたの最後のdrawText()に余分な括弧もあります。 – Leiaz
なぜ各繰り返しで 'QPen'sを再作成しますか? – triclosan
こんにちはtriclosan、線を描き、テキストを別々に描画するために、異なる色を設定したいと思います。 – user1182217