Qt 外掛程式總結

2021-08-28 15:01:37 字數 858 閱讀 3906

1、 介面的定義

//step 1 定義介面

class regexpinte***ce

virtual qstring regexp(const qstring &message) = 0;

};// step 2

// 宣告介面

// 使用 q_declare_inte***ce 巨集,是為了讓qt元物件系統知道該介面,這樣以來,在執行時便可以識別實現介面的外掛程式。

// q_declare_inte***ce(介面類名, 介面標識),第二個引數(regexpinte***ce_iid)是乙個標識介面的字串,必須唯一。

#define regexpinte***ce_iid "org.qter.examples.myplugin.regexpinte***ce"

q_declare_inte***ce(regexpinte***ce,regexpinte***ce_iid )

#endif // regexpinte***ce_h

2、介面的實現

//step 3  實現介面

class regexpluginshared_export regexplugin : public qobject,regexpinte***ce

;

3、介面的使用

// 進入外掛程式目錄

pluginsdir.cd("bin");

// 遍歷外掛程式目錄

foreach (qstring filename, pluginsdir.entrylist(qdir::files))

}return false;

原始碼鏈結

Qt 外掛程式系統

qt 有兩種與外掛程式有關的 api。一種用來擴充套件 qt本身的功能,如 自定義資料庫驅動 影象格式 文字編譯碼等,稱為 higher level ap 既高階介面。另一種用於應用程式的功能擴充套件,稱為 lower level api 低階介面。前一種是建立在後一種的基礎之上的。前一種是擴充套件...

Qt 外掛程式路徑

qt manual 已經專門介紹了deploying plugins 的問題。半年前qt 外掛程式學習 一 也簡單整理了一點路徑相關的問題。可是,一直以來沒理清 外掛程式 編譯碼外掛程式 資料庫外掛程式.到底是如何被載入的?如果我們需要開啟或儲存乙個jpg格式的,那麼需要載入jpg的外掛程式。程式去...

Qt外掛程式應用小結

1.當乙個外掛程式具有多個inte ce的時候,使用qpluginloader得到外掛程式的object後,可以將object分別轉為各個介面型別 例如 qt example basictools 外掛程式 和 plugandpaint 使用外掛程式 qt的兩個例子 class basictools...