Мое главное окно имеет следующую функцию рисования:
void MainWindow::paintEvent(QPaintEvent*)
{
QImage sign(50, 50, QImage::Format_ARGB32_Premultiplied);
QPainter p(&sign);
p.setRenderHint(QPainter::Antialiasing, true);
p.fillRect(sign.rect(), QColor(255, 255, 255, 0));
p.setBrush(Qt::blue);
p.setPen(Qt::NoPen);
p.drawEllipse(0, 0, sign.width(), sign.height());
p.end();
QPainter painter(this);
painter.drawImage(rect(), sign, sign.rect());
}
Таким образом, в основном оно рисует синий заполненный круг на QImage, а затем рисует этот QImage на виджет.Однако, когда я изменяю размер окна, я получаю странные артефакты (в верхнем левом углу).Вот как это выглядит:
оригинал:
после изменения размера окна:
Кто-нибудь имеет представление, почему это так?
(я работаю под Ubuntu 10.04, если это интересно)