1
我得到一個運行時錯誤,因爲我剛剛創建了一個新的QML單類型:單例對象的QML運行時錯誤:遞歸地實例化?
qrc:///Components/RunStatus.qml:-1 RunStatus is instantiated recursively
我還有一個QML單對象,它工作得很好,我比較的兩個,也沒有明顯的差異。
這裏的源RunStatus.qml:
pragma Singleton
import QtQuick 2.6
import Components 1.0
Item {
property bool isRunning: false
property bool isStopped: !isRunning
}
有我qmldir文件的源:
# singleton QML files
singleton RunStatus 1.0 RunStatus.qml
我消滅了所有引用的對象,RunStatus
和我仍然得到錯誤。但是,當我從qmldir文件中刪除singleton
關鍵字時,運行時錯誤消失。
如果您的單身人士需要在組件中定義的元素,該怎麼辦? –
如果單例需要在組件中定義的元素,則聲明單例的qmldir應該從組件文件夾以外的文件夾導入。 – pixelgrease
更好的方法是將需要導入的東西添加到單獨的qml文件中,並在單例中使用該導入(不包含導入)。 這樣一切正常 –