【发布时间】:2012-02-28 14:18:22
【问题描述】:
我在使用 QPainter 绘制不同颜色的线条和文本时遇到问题。我正在使用以下代码来实现这一点,但它不起作用。线条和文本都使用绘制文本的颜色设置。
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() 中还有一个额外的括号
-
为什么每次迭代都要重新创建
QPens? -
你好三氯生,我想分别为画线和画文字设置不同的颜色。
-
我否决了这个问题,因为您没有付出任何努力来确保它实际编译,这实际上影响了我们可以为您提供多少帮助,并且通常会浪费每个人的时间。
标签: qt