【发布时间】:2015-12-15 05:19:55
【问题描述】:
我必须在我的应用程序中为多个 QLabel 应用投影。我使用了 QGraphicsDropShadowEffect,如果我为一个 QLabel 添加它,它工作正常。我尝试对两个 QLabel 应用相同的图形效果。
QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect();
effect->setColor(Qt::white);
effect->setBlurRadius(0);
effect->setXOffset(1);
effect->setYOffset(0);
QLabel* label = new QLabel();
label->setText("QLabel1");
label->setGraphicsEffect(effect);
QLabel* label2 = new QLabel();
label2->setText("QLabel2");
label2->setGraphicsEffect(effect);
在这种情况下,阴影效果仅应用于 label2。 我尝试创建两个不同的 QGraphicsDropShadowEffect 对象并使用它设置 QLabels。
QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect();
effect->setColor(Qt::white);
QLabel* label = new QLabel();
label->setText("QLabel1");
label->setGraphicsEffect(effect);
QGraphicsDropShadowEffect* effect1 = new QGraphicsDropShadowEffect();
effect1->setColor(Qt::white);
QLabel* label2 = new QLabel();
label2->setText("QLabel2");
label2->setGraphicsEffect(effect1);
在这种情况下,应用程序在 QRasterPaintEngine::transformChanged() 调用中崩溃。
关于如何解决此问题的任何想法? 我正在使用 qt 5.3。
【问题讨论】:
-
你能找到解决这个问题的方法吗?
标签: c++