與QML使用Exposing Attributes of C++ Types to QML類的機會,必須QObject
秒。任何機會,我可以使用非QObjects
s(又名POCO,而不是從QObject
派生,但註冊與Qt metasystem)?任何使用非QObject的類與QML
如果不是,有一個簡單的通用包裝系統,使我的對象QML兼容。我能想到的一點是將動態屬性添加到簡單的QObject
。
還是有辦法隱式轉換爲兼容的QML類型,所以我並不需要在所有的包裝?
與QML使用Exposing Attributes of C++ Types to QML類的機會,必須QObject
秒。任何機會,我可以使用非QObjects
s(又名POCO,而不是從QObject
派生,但註冊與Qt metasystem)?任何使用非QObject的類與QML
如果不是,有一個簡單的通用包裝系統,使我的對象QML兼容。我能想到的一點是將動態屬性添加到簡單的QObject
。
還是有辦法隱式轉換爲兼容的QML類型,所以我並不需要在所有的包裝?
這實際上是一個熱門話題。
我相信你可以註冊自己的莢,並通過他們周圍的ITO和QML側內(就像黑匣子 - W/O任何成員訪問,從來沒有嘗試過)。爲了訪問成員,可以使用一些獲取/設置包裝器代碼,無論是以QML單例中的方法的形式,還是有效用作每個實例包裝器的QtObject後代。
目前不支持動態屬性 - 你可以讓它們工作,可能有一些很奇怪的詭計,但它不會是值得的(但如果你不想綁定屬性,事情會得到要簡單得多,它仍然是QObject)。
隱式轉換意味着有某種預處理器(這可能是可行的,但會花費大量時間,並提供結果返回到Qt(並終生支持它))。
我會走這條路:
事情是,定製莢不享受同樣的支持水平內置的做,和
感謝upvoting!你去過Qt DevDays'13可能是在上週(在柏林)嗎?那我們可以見面了! – mlvljr
感謝您的全面回答。我會將問題留待更多的日子,但可能會接受你的答案。順便說一句,我不在柏林。 –
謝謝,我的郵件在配置文件中,我實際上想嘗試一下對自己做些試驗(如果我有足夠的時間);所以,如果你願意,我們可以嘗試一些事情。柏林活動很好:) – mlvljr