我有一个与QQuickView和QWidget不同的混合UI : QWidget::createWindowContainer()
当我试图创建包含我的QWidget的QQuickView的转换(动画)时,过渡不是很顺利.
在这里,我的代码摘要如下:
QQuickView *myQuickView = new QQuickView("myqml")
QState *mMenuStateHidden = new QState();
QState *mMenuStateVisible = new QState();
QStateMachine *mMachine = new QStateMachine();
mMachine->addState(mMenuStateHidden);
mMachine->addState(mMenuStateVisible);
mMahine->setInitialState(mMenuStateHidden);
mGSlideMenu = QWidget::createWindowContainer(myQuickView);
mMenuStateHidden->assignProperty(mGSlideMenu, "geometry", QRectF(QPointF(-mGSlideMenu->width(), height()),mGSlideMenu->size()));
mMenuStateVisible->assignProperty(mGSlideMenu, "geometry", QRectF(QPointF(0, height()),mGSlideMenu->size()));
QPropertyAnimation *lAnimOut = new QPropertyAnimation(mGSlideMenu, "geometry");
QSignalTransition *transition = mMenuStateHidden->addTransition(myQuickView->rootObject(), SIGNAL(menuClicked()), mMenuStateVisible);
transition->addAnimation(lAnimIn);
QSignalTransition* transition2 = mMenuStateVisible->addTransition(myQuickView->rootObject(), SIGNAL(menuClicked()), mMenuStateHidden);
transition2->addAnimation(lAnimOut);
mMahine->start();如何看到,在gif的左边,有一个“黑色”工件;这是不存在的,我们没有加载QML。

因此,我的问题是,如何改进我的QQuickView,使应用程序更加流畅。
伙计们,
发布于 2017-09-21 15:54:51
我修正了使用QQuickWidget而不是QQuickView的问题。现在一切都好了。
太棒了!
https://stackoverflow.com/questions/46114093
复制相似问题