在 QML 中添加一个 QTreeView
Add a QTreeView in QML
我想向 QML 注册一个 QTreeView c++ 对象。
我试过这样注册:
main.cpp:
qmlRegisterType<QTreeView>("com.MyApp.QTreeView", 1, 0, "QTreeView");
相关代码在main.qml
import com.MyApp.QTreeView 1.0
QWindow {
QTreeView{
headerHidden: true
}
}
结果:编译成功。找到了 headerHidden 属性,因此它已正确注册。但是我在运行时有一个错误:
断言:文件 kernel\qobject.cpp 中的“!d->isWidget”,第 2090 行
QWidget 不直接与 QML 兼容,因此它们可以嵌入到 QML 视图中。它们是两种不同的 UI 技术,不能以那种方式一起使用。
然而,您可以在 QWidget 层次结构中嵌入 QML 视图:
https://www.ics.com/blog/combining-qt-widgets-and-qml-qwidgetcreatewindowcontainer
或者只使用 QML TreeView 组件:
我想向 QML 注册一个 QTreeView c++ 对象。 我试过这样注册:
main.cpp:
qmlRegisterType<QTreeView>("com.MyApp.QTreeView", 1, 0, "QTreeView");
相关代码在main.qml
import com.MyApp.QTreeView 1.0
QWindow {
QTreeView{
headerHidden: true
}
}
结果:编译成功。找到了 headerHidden 属性,因此它已正确注册。但是我在运行时有一个错误: 断言:文件 kernel\qobject.cpp 中的“!d->isWidget”,第 2090 行
QWidget 不直接与 QML 兼容,因此它们可以嵌入到 QML 视图中。它们是两种不同的 UI 技术,不能以那种方式一起使用。
然而,您可以在 QWidget 层次结构中嵌入 QML 视图:
https://www.ics.com/blog/combining-qt-widgets-and-qml-qwidgetcreatewindowcontainer
或者只使用 QML TreeView 组件: