qt提供了兩個用於建立外掛程式的api:
編寫擴充套件qt本身的外掛程式是通過對相應的外掛程式基類進行子類化,實現一些功能以及新增巨集來實現的。
通過外掛程式不僅可以擴充套件qt本身,而且可以擴充套件qt應用程式。這要求應用程式使用qpluginloader檢測和載入外掛程式。在這種情況下,外掛程式可以提供任意功能,並且不僅限於資料庫驅動程式,影象格式,文字編解碼器,樣式以及擴充套件qt功能的其他型別的外掛程式。
通過外掛程式使應用程式可擴充套件涉及以下步驟:
定義一組用於與外掛程式對話的介面(僅具有純虛函式的類)。
使用q_declare_inte***ce()巨集告訴qt的元物件系統有關介面的資訊。
在應用程式中使用qpluginloader載入外掛程式。
使用qobject_cast()測試外掛程式是否實現了給定的介面。
編寫外掛程式涉及以下步驟:
宣告乙個繼承自qobject和該外掛程式要提供的介面的外掛程式類。
使用q_inte***ces()巨集告訴qt的元物件系統有關介面的資訊。
使用q_plugin_metadata()巨集匯出外掛程式。
使用合適的.pro
檔案構建外掛程式。
qt應用程式自動知道哪些外掛程式可用,因為外掛程式儲存在標準外掛程式子目錄中。由於此應用程式不需要任何**來查詢和載入外掛程式,因為qt會自動處理它們。
如果您希望外掛程式可載入,則一種方法是在應用程式下建立乙個子目錄,並將外掛程式放置在該目錄中。如果分發qt隨附的任何外掛程式(位於plugins
目錄中),則必須將plugins
外掛程式所在的子目錄複製到應用程式的根資料夾(即,不包括plugins
目錄)。
將外掛程式包含在應用程式中的最普通,最靈活的方法是將其編譯為單獨提供的動態庫,並在執行時進行檢測和載入。
外掛程式可以靜態鏈結到您的應用程式。如果您構建靜態版本的qt,則這是包括qt的預定義外掛程式的唯一選項。使用靜態外掛程式使部署不太容易出錯,但是缺點是,如果不完全重建和重新分發應用程式,則無法新增外掛程式的功能。
要靜態鏈結外掛程式,您需要使用將必需的外掛程式新增到構建中qtplugin
。
詳解如何建立Qt外掛程式學習教程
如何建立qt外掛程式學習教程是本文要介紹的內容,主要是來了解qt中外掛程式的應用,如何來建立,文中有詳解,具體內容的實現來看詳解。qt提供2個api來建立外掛程式 1 高層api擴充套件qt庫。例如定製的資料庫驅動,影象格式,字元編碼,custom styles 2 底層api擴充套件qt應用程式 ...
Qt 時鐘外掛程式的建立與使用
1 建立外掛程式專案命名為qclock,建立時鐘的源 參見 2 將release下的dll檔案和.a檔案複製貼上到qt的安裝目錄中的plugins designer下,如 c qt 4.8.4 plugins designer 3 由於我的qtcreator不知什麼原因無法找到qclock,但在qt...
如何編寫乙個Qt外掛程式
qt版本 qt5.9.7 編譯套件 msvc2015 64bit qt外掛程式分為低階外掛程式和高階外掛程式,所謂的高階外掛程式是在qt已經存在的介面外掛程式上實現擴充套件,qt還是提供了很多的多 的外掛程式供開發者使用,比如qaudiosystemplugin qmediaresourcepoli...