定義一個單例型別的Qml

Azuki_op發表於2024-07-01

在QML檔案中,pragma Singleton用於宣告一個QML型別為單例(Singleton)。單例是一種特殊的QML型別,只會被例項化一次,全域性共享。這在需要在整個應用程式中共享狀態或功能時非常有用。

下面是一個簡單的示例,演示如何在QML檔案中使用pragma Singleton宣告一個單例型別:

pragma Singleton

import QtQuick 2.0

QtObject {
property int count: 0

function increment() {
count++
}
}  
在這個示例中,我們宣告瞭一個單例型別,其中包含一個整數屬性count和一個增加計數的函式increment。這個單例型別可以在整個應用程式中共享,並且只會被例項化一次。

要在其他QML檔案中使用這個單例型別,可以直接引用它,如下所示:

import "MySingleton.qml" as MySingleton

Text {
text: "Count: " + MySingleton.count
MouseArea {
onClicked: MySingleton.increment()
}
}

import "MySingleton.qml" as MySingleton語句的含義是將指定的QML檔案作為模組匯入,併為該模組指定一個別名。這樣可以在當前QML檔案中使用該別名來引用匯入的QML模組。

具體來說:
- import "MySingleton.qml":表示匯入名為MySingleton.qml的QML檔案作為模組。
- as MySingleton:表示為匯入的模組指定一個別名為MySingleton,以便在當前QML檔案中使用該別名來引用匯入的模組。

透過這種方式,你可以在當前QML檔案中使用MySingleton作為別名來訪問和呼叫匯入的MySingleton.qml檔案中定義的內容。

相關文章