2013-09-27 18 views
2

使用Q_PROPERTY宏爲Qt的屬性系統定義屬性時,其中一個可用子句是RESET。我知道重置函數是什麼,以及如何創建一個,但我無法弄清楚什麼時候會從QML觸發。我注意到我在BlackBerry Cascades頭文件中看到的重置函數聲明的示例沒有指定爲Q_INVOKABLE,因此您不能只調用該函數,但它們始終定義爲插槽。這讓我想知道,當您使用帶有Q_PROPERTY的RESET子句時,屬性系統是否有一個隱藏的復位信號連接到復位功能插槽。這樣,當QML發生某些事件時,它會自動觸發。這個事件可能是我無法弄清楚的。Q_PROPERTY()RESET子句如何工作?

我已經經歷了Cascades和Qt文檔顛倒和橫向,我可以找到很多關於使用RESET子句以及如何聲明重置函數的內容,但是什麼也沒有觸發它。

有沒有人有這方面的見解?

回答

0

有沒有人有這方面的見解?

當屬性設置爲undefined時,將爲屬性調用RESET函數集。這基本上是一個javascript值。

話雖這麼說,請注意,RESET功能有一些缺陷,如:

  • 當undefined是一個有效的價值將無法正常工作。

  • 當undefined是無效值時它將不起作用。