Qt中擴展插件 命名空間的問題

創建Qt創建時,需要特別注意命名空間。比如有虛接口:

注意到Q_DECLARE_INTERFACE(sic::Font, "ict.imap.sic.Font/1.0")不能在命名空間中,因此類必須包含有命名空間,即爲sic::Font。

實現的頭文件爲:

特別注意:Q_INTERFACES(sic::Font),必須是sic::Font,否則無法通過編譯。但是如果寫QINTERFACES(Font)又能通過編譯,比較奇怪,具體的宏定義暫時沒有深究,但是確實令人很不直觀。

最後在.cpp文件中加上Q_EXPORT_PLUGIN2宏定義即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章