我有一个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
时,淡入淡出会按预期进行。
我想不出任何解决方法或解决此问题。有什么想法吗?
感谢您的时间。