Проблемы с QGraphicsBlurEffect в приложении Desktop Retina



  • Всем привет. Пример класса:
    #include "drawwidget.h"

    DrawWidget::DrawWidget(QWidget *parent) : QWidget(parent)
    {
    painter = new QPainter;
    //
    this->rect = new QRect(0, 0, 50, 50);
    this->color = new QColor(255, 0, 0, 255);
    this->resize(600, 400);
    }

    void DrawWidget::addBlur()
    {
    QGraphicsBlurEffect* effect = new QGraphicsBlurEffect();
    effect->setBlurRadius(10);
    this->setGraphicsEffect(effect);
    }

    void DrawWidget::setBounds(QRect* rect)
    {
    this->rect = rect;
    }
    void DrawWidget::setColor(QColor* color)
    {
    this->color = color;
    }

    void DrawWidget::paintEvent ( QPaintEvent * event )
    {
    QWidget::paintEvent(event);
    //
    if (painter->begin(this)) {
    painter->setPen(QPen(Qt::NoPen));
    painter->setBrush(QBrush(*color));
    painter->drawRect(*rect);
    painter->end();
    } else {
    qDebug() << "not begin";
    }
    }

    Пример его использования в main:
    DrawWidget* draw1 = new DrawWidget(&mainWidget);
    draw1->setBounds(new QRect(50, 50, 100, 100));
    draw1->addBlur();
    //
    DrawWidget* draw2 = new DrawWidget(&mainWidget);
    draw2->setBounds(new QRect(50, 50, 100, 100));
    draw2->setColor(new QColor(255, 255, 0, 255));

    Вот как выглядит результат на обычном мониторе, а вот как выглядит на Retina дисплее MacBook. Если уже запущенное приложение таскать между мониторами - изображение меняется как показано на скриншотах.

    Кто знает в чем может быть проблема?

    UPD Такая же проблема наблюдается и в iPhone 6



  • This post is deleted!

Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.