我想將 QTreeView c 物件注冊到 QML。我試著像這樣注冊它:
主.cpp:
qmlRegisterType<QTreeView>("com.MyApp.QTreeView", 1, 0, "QTreeView");
main.qml 中的相關代碼
import com.MyApp.QTreeView 1.0
QWindow {
QTreeView{
headerHidden: true
}
}
結果:它編譯。找到了 headerHidden 屬性,因此它已正確注冊。但是我在運行時出錯:ASSERT: "!d->isWidget" in file kernel\qobject.cpp, line 2090
uj5u.com熱心網友回復:
QWidgets 不直接與 QML 兼容,因此它們可以嵌入到 QML 視圖中。它們是兩種不同的 UI 技術,不能以這種方式一起使用。
但是,您可以在 QWidget 層次結構中嵌入 QML 視圖:
https://www.ics.com/blog/combining-qt-widgets-and-qml-qwidgetcreatewindowcontainer
或者只使用 QML TreeView 組件:
https://doc.qt.io/qttreeview/qml-treeview.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/406760.html
標籤:
