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宏定义即可。

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