qt自定義組件開發步驟演示。以下所有步驟的前提是自己先編譯Qtcreator源碼,最好生成release版的QtCreator,否則自定義的插件嵌入QtCreator會失敗!!!(這個網上教程很多)
Step1:新建工程,選擇其他項目->Qt4設計師自定義控件
Step2:填寫工程名,然后一路點擊下一步,直至Step3
Step3:填寫控件類名,點擊下一步
Step4:若裝了版本控制Git工具的話,最好選上,以便后期修改,點擊完成即可成功創建工程
Step5:利用控件提升法。
Ø 刪除上圖黃色矩形框中的HelloWorld類的兩個文件(helloworld.h和helloworld.cpp)
Ø 再重新給工程添加一個同名的HelloWorld類,基類選擇QWidget類,如下圖所示
點擊下一步生成新的工程,如下圖所示
Ø 接着修改helloworldplugin.h里的頭文件根據Qt相應版本修改,我這里的版本是Qt5.6.1 MinGW,所以修改成如上圖所示的紅色矩形中的頭文件
Ø 再接着在helloworld.h的頭文件里添加頭文件
#include <QtUiPlugin/QDesignerExportWidget>
Ø 最后在helloworld.h頭文件里的類名前加上宏QDESIGNER_WIDGET_EXPORT
如下圖所示:
Step6:此時你就可以根據需求開發你想要的自定義插件了,這里之所以利用提升法來做最主要的是可以利用QtCreator的原生控件來輔助自定義插件開發,提高生產力。舉一個簡單的例子來說明自定義插件的使用,如下圖示:拖一個pushbutton,定制一個字幕為Hello Qt的按鈕插件 ,然后選擇release模式運行工程,會生成庫文件helloworldplugin.dll和libhelloworldplugin.a。
Step7:接下來將生成的helloworldplugin.dll文件放入Qt的安裝路徑里,我的是C:\Qt\Qt5.6.1\5.6\mingw49_32\plugins\designer
如下圖示:
現在只需要將生成的dll放到C:\Qt\Qt5.6.1\5.6\mingw49_32\plugins\designer路徑下,不僅Qtcreator中,Qt Designer中都可以成功嵌入自定義插件!!!
如下圖示Qt 設計師:
Qt Creator中,新建Qt 工程,測試插件的使用,如下圖示:
Step7:自定義插件的使用
將自定義控件的helloworld.h頭文件、helloworldplugin.dll文件、libhelloworldplugin.a(msvc編譯器為.lib)文件復制出來,在根目錄下分別創建include和lib文件夾,將頭文件放到include目錄,將libxxx.a文件放到lib目錄,在項目的pro文件中,增加兩行 :
INCLUDEPATH += $$PWD/include
LIBS += $$PWD/lib/libhelloworldplugin.a
最好將helloworldplugin.dll放到release里,以便工程移植。