我正在尝试通过使用QGraphicsRectItem设置setBrush的画笔5 QBrush。但不起作用。这种行为令人困惑,因为它在某些情况下起作用。

代码包括我在Qt-Creator中创建的一个*.ui。我在上面加了一个QGraphiocsView。
QGraphicsScene *scene_;
scene_ = new QGraphicsScene(ui->graphicsView);
ui->graphicsView->setScene(scene_);
scene_->setBackgroundBrush(Qt::red);
for (int i=0; i<5; i++)
{
QBrush tmpBrush;
tmpBrush.setColor( QColor(200-i*15, i*15, 50) );
QPen tmpPen;
tmpPen.setColor(Qt::blue); tmpPen.setWidth(2);
QGraphicsRectItem*tmpRect = scene_->addRect( 2, 25*i, 100, 20, tmpPen, tmpBrush );
tmpRect->setPen(tmpPen); tmpRect->setBrush(tmpBrush);
}我正在Ubuntu16.04中用QT5.7编写代码。
发布于 2017-07-26 12:38:48
您的画笔没有样式:-)或者,也许更有帮助的是,您用.
QBrush tmpBrush;调用其文档状态的默认构造函数的
构造带有Qt::NoBrush样式的默认黑色画笔(即此画笔不会填充形状)。
所以,就把它改成..。
QBrush tmpBrush(Qt::SolidPattern);你应该得到想要的结果。
https://stackoverflow.com/questions/45326188
复制相似问题