1

我正在尝试QGraphicsBlurEffect在我的项目中使用 Qt 5.5.1,但无法使其在 Mac 上运行:

mac上的截图

我试图通过使用PerformanceHint,QualityHint或进行更改AnimationHint,但没有成功。使用QGraphicsColorizeEffect我遇到了同样的问题,而QGraphicsOpacityEffectand 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();
}
4

1 回答 1

1

我遇到了类似的问题QGraphicsOpacityEffect:文本和图标必须清晰锐利时模糊。似乎是Qt中的一个错误。我的解决方案是编写我自己的小类,其中包含我需要的所有内容并进行适当的渲染。好吧,您可以尝试修复 Qt... 祝您阅读图形效果的源代码好运。它的所有 dpr 和变换矩阵以及渲染子小部件都非常复杂。

于 2016-08-05T13:48:38.923 回答