Я пытаюсь использовать Qt 5.5.1 QGraphicsBlurEffect
в моем проекте, но не может заставить его работать на Mac:QGraphicsBlurEffect изменяет текст, но не Widget сама
Я пытался сделать изменение с помощью PerformanceHint
, QualityHint
или AnimationHint
, но не удалось. Использование QGraphicsColorizeEffect
я была такая же проблема, в то время как QGraphicsOpacityEffect
и QGraphicsDropShadowEffect
, а также все, что на Linux работает прекрасно:
Как я могу изменить свой файл проекта или код, чтобы сделать этот вопрос графика уйти? Возможно ли это?
TEMPLATE = app
TARGET = main
QT += widgets
SOURCES += main.cpp
#include <QtWidgets>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QMainWindow window;
QTextEdit *text = new QTextEdit;
text->setReadOnly(true);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(text);
QWidget *widget = new QWidget;
widget->setLayout(layout);
QGraphicsBlurEffect effect;
effect.setBlurRadius(3);
QLabel *test = new QLabel("TEST");
test->setGraphicsEffect(&effect);
(new QHBoxLayout(text))->addWidget(test, 0, Qt::AlignCenter);
window.setCentralWidget(widget);
window.show();
return app.exec();
}
Вы используете дисплей HDPI/Retina? Похоже, шрифт точно масштабируется по коэффициенту 2? Моя * догадка * будет заключаться в том, что ошибка, вызванная сетчаткой (devicePixelRatio = 2), не обрабатывается правильно. –
@FrankOsterfeld думаю. Но то же самое происходит с изображениями в 'QLabel'. У вас есть идея, как обойти это? – tynn