Mam problem z rysowaniem linii i tekstu w innym kolorze za pomocą QPaintera. Używam poniższego fragmentu kodu, aby to osiągnąć, ale to nie działa. Obie linie i teksty są rysowane przy użyciu zestawu kolorów do rysowania tekstu.QPainter :: drawLine i QPainter :: drawText z innym kolorem w Qt
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);
}
}
W jaki sposób ustawić różne kolory dla rysowania linii i tekstów. Jakieś sugestie. Dzięki.
W pierwszym wywołaniu setPen(), aby nie używać pióra utworzonego tuż powyżej. Czy jest to literówka, która została dodana podczas kopiowania/wklejania? Istnieje również dodatkowy nawias w twoim ostatnim drawText() – Leiaz
po co ponownie tworzyć 'QPen's w każdej iteracji? – triclosan
Witam triklosan, chcę ustawić różne kolory do rysowania linii i rysowania tekstów osobno. – user1182217