QGraphicsOpacityEffect对带有QSvgWidget子项的窗口小部件的影响

时间:2019-06-08 04:05:56

标签: c++ qt qtsvg

我有一个tree.plot_tree(clf_decision),一个QWidget是孩子。

QSvgWidget

我需要此小部件QVBoxLayout *loadingLayout = new QVBoxLayout(ui->loadingWidget); loadingLayout->setMargin(0); QSvgWidget *loadingSvg = new QSvgWidget(ui->loadingWidget); loadingSvg->load(QString(":/extra/loader_2.svg")); loadingSvg->renderer()->setFramesPerSecond(30); loadingLayout->addWidget(loadingSvg, 0, Qt::AlignCenter); ui->loadingWidget->setLayout(loadingLayout); 淡出,所以我选择像过去一样在loadingWidget上使用QPropertyAnimation

QGraphicsOpacityEffect

但是,每当我呼叫QGraphicsOpacityEffect *opacity = new QGraphicsOpacityEffect(ui->loadingWidget); opacity->setOpacity(1.0); ui->loadingWidget->setGraphicsEffect(opacity); loadingFadeOut = new QPropertyAnimation( opacity, "opacity" ); loadingFadeOut->setDuration(500); loadingFadeOut->setStartValue(1.0); loadingFadeOut->setEndValue(0.0); loadingFadeOut->start(QPropertyAnimation::DeleteWhenStopped); 时,软件就会崩溃,并且小部件将setGraphicsEffect作为子代。当我移除QSvgWidget时,淡入淡出会按预期进行。

我想不出任何解决方法或解决此问题。有什么想法吗?

感谢您的时间。

0 个答案:

没有答案