我想在我的顶级QQuickWindow中插入一个QTreeWidget。可能吗?下面的代码被评论以显示我的一般想法。
....
//in main somewhere
QTreeWidget *tree = new QTreeWidget();
//Magically insert tree into window
....
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
qmlRegisterType<Data>();
engine.rootContext()->setContextProperty("classInstance", new polysync_api_wrapper);
engine.rootContext()->setContextProperty("trace", new Trace);
engine.load(QUrl("qml/main.qml"));
QObject *topLevel = engine.rootObjects().value(0);
QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
window->show();
return app.exec();
}
ApplicationWindow {
......
Rectangle {
id: treeWindowContainer
....
--->**TREE WIDGET GOES HERE PLZ!? SUCH AMAZE!!!**<---
....
}
}
谢谢大家!所有有些像样的建议得到了支持!!!现在是星期五!!!
答案 0 :(得分:0)
您需要一个包裹QWidget
的项目。没有这样的项目,但最接近的是QQuickPaintedItem
。您需要从中派生并编写一个可以采用QWidget
实例并使用其render
方法绘制项目的项目。在两者之间转发事件方面还有很多工作要做。