據我瞭解,做一個財產QML數組,你必須將它指定類型variant
或var
:「var」和「variant」是同一個東西嗎?
property var myArray:[]
而且這似乎是完全一樣:
property variant myArray:[]
這是真的嗎?
據我瞭解,做一個財產QML數組,你必須將它指定類型variant
或var
:「var」和「variant」是同一個東西嗎?
property var myArray:[]
而且這似乎是完全一樣:
property variant myArray:[]
這是真的嗎?
按照Qt 5.0 variant documentation:
的變體類型是一個通用的屬性類型。它已經過時,只能用於支持舊應用程序;新的應用程序應該使用var類型屬性。
所以,是的,它是一樣的,但要始終堅持var
(除非你有哪些不支持又一個早期版本)。
這不是一個完全新的答案,但包含有關@Tim邁耶提供的答案,根據我自己的經驗更多的信息:
property variant
有否則將使用QML解析錯誤。property variant
或property var
。但後一個建議,因爲前者已被棄用。Qt 4 property variant
或Qt 5 property var
可用於QML數組或列表聲明/定義。但如果事先知道myArray
的類型和不變的內容,也可以使用property list<Type>
。例如:
屬性列表< Item
> myArray的:[項目{},項{}]
感謝;我是否正確使用'var'是製作數組屬性的唯一方法? – johnbakers
至少我知道的唯一方法 –
這確實是文檔;我感到驚訝的是,QtCreator(從3.6.1開始)並沒有以任何方式警告用戶「variant」已被棄用。 –