Files
Obsidian-Main/21. 資料收集/Programming/QT/QVariant.md

609 B
Raw Blame History

Qt有許多UI元件都可以另外設定相依的「資料」例如QCombobox,這樣我們就不必老是依賴選項的文字來做許多麻煩的處理。 例如,QCombobox.addItem()可以夾帶一個QVariant,這個QVariant就可以夾帶一個pointer。 要讓QVariant支援std::shared_ptr的方式很簡單只要在你程式的最上方加入你要使用的type就可以例如我要支援我自己的class AwSentinelDevice就這樣寫

#include <memory>

Q_DECLARE_SMART_POINTER_METATYPE(std::shared_ptr);
Q_DECLARE_METATYPE(std::shared_ptr<AwSentinelDevice>);