void Widget::paintEvent(QPaintEvent *) {
QPainter painter(this);
QBrush br;
br.setColor(Qt::blue);
painter.setBrush(br);
// painter.setBrush(QBrush(Qt::blue));
painter.drawRect(10, 10, 50, 50);
}
Этот код не работает, синий прямоугольник не нарисован. Но прокомментированная строка работает нормально. Зачем?Cant set QBrush to QPainter
Нет необходимости создавать объект, а затем вызвать конструктор копирования для 'br'. Поскольку 'QBrush' не является структурой POD, вызов' QBrush br(); 'вместо' QBrush br'' не будет иметь никакого значения. –
Я знаю, но, похоже, подходит для вопроса. Приветствия. – vidario