Russian Qt Forum
Ноябрь 01, 2024, 07:29 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблемы с QGraphicsBlurEffect в устройстве с Retina дисплеем  (Прочитано 2636 раз)
abdulgalimov
Гость
« : Октябрь 27, 2015, 12:20 »

Всем привет. Приведу сразу пример кода:
Код:
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 и iPhone 6:


Кто знает почему так происходит?
Спасибо.
Записан
Swa
Самовар
**
Offline Offline

Сообщений: 170


Просмотр профиля
« Ответ #1 : Октябрь 27, 2015, 12:56 »

Посмотрите вот тут, может найдете что полезное. http://blog.qt.io/blog/2013/04/25/retina-display-support-for-mac-os-ios-and-x11/
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.121 секунд. Запросов: 23.