本文整理汇总了C++中QQmlEngine::clearComponentCache方法的典型用法代码示例。如果您正苦于以下问题:C++ QQmlEngine::clearComponentCache方法的具体用法?C++ QQmlEngine::clearComponentCache怎么用?C++ QQmlEngine::clearComponentCache使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QQmlEngine
的用法示例。
在下文中一共展示了QQmlEngine::clearComponentCache方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: reload
void Reloader::reload()
{
qDebug() << "reloading";
//The engines has a internal cache that prevents reloading.
QQmlEngine *engine = m_viewer->engine();
engine->trimComponentCache();
engine->clearComponentCache();
m_viewer->setSource(m_mainFile);
}
示例2: clearComponentCache
void tst_qqmlengine::clearComponentCache()
{
QQmlEngine engine;
// Create original qml file
{
QFile file("temp.qml");
QVERIFY(file.open(QIODevice::WriteOnly));
file.write("import QtQuick 2.0\nQtObject {\nproperty int test: 10\n}\n");
file.close();
}
// Test "test" property
{
QQmlComponent component(&engine, "temp.qml");
QObject *obj = component.create();
QVERIFY(obj != 0);
QCOMPARE(obj->property("test").toInt(), 10);
delete obj;
}
// Modify qml file
{
QFile file("temp.qml");
QVERIFY(file.open(QIODevice::WriteOnly));
file.write("import QtQuick 2.0\nQtObject {\nproperty int test: 11\n}\n");
file.close();
}
// Test cache hit
{
QQmlComponent component(&engine, "temp.qml");
QObject *obj = component.create();
QVERIFY(obj != 0);
QCOMPARE(obj->property("test").toInt(), 10);
delete obj;
}
// Clear cache
engine.clearComponentCache();
// Test cache refresh
{
QQmlComponent component(&engine, "temp.qml");
QObject *obj = component.create();
QVERIFY(obj != 0);
QCOMPARE(obj->property("test").toInt(), 11);
delete obj;
}
}