如何提高QQuickView的刷新率
How to improve QQuickView refresh
我有一个不同组合的应用程序 UI:
QWidget::createWindowContainer() 用于带有 QQuickView 的 QML
和 QWidget
当我尝试为我的 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();
怎么看,在动图的左边,有一个"black"神器;这不存在,我们没有加载 QML。
所以我的问题是,如何改进我的 QQuickView 以获得更流畅的应用程序。
谢谢大家,
我解决了使用 QQuickWidget 而不是 QQuickView 的问题。
现在一切正常。
谢谢!
我有一个不同组合的应用程序 UI: QWidget::createWindowContainer() 用于带有 QQuickView 的 QML 和 QWidget
当我尝试为我的 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();
怎么看,在动图的左边,有一个"black"神器;这不存在,我们没有加载 QML。
所以我的问题是,如何改进我的 QQuickView 以获得更流畅的应用程序。
谢谢大家,
我解决了使用 QQuickWidget 而不是 QQuickView 的问题。 现在一切正常。
谢谢!