Qt自定義插件注意事項:

1:每個Qt庫bin目錄的designer可執(zhí)行文件都是和該庫同一個編譯器編譯的,可用,如果想要集成到Qt Creator中,則需要注意版本,一般在windows上的Qt Creator版本是MSVC的,則需要對應(yīng)的Qt庫也是MSVC編譯的,庫版本和編譯器版本必須保持一致才能是順利集成到Qt Creator的重要前提。

2:自定義控件的名稱不能小寫,否則拖過去的控件自動生成的默認(rèn)名稱和類名一樣,會編譯通不過。這個問題坑了我很久,造成自動生成的UI代碼保存,一直沒有懷疑,后面才發(fā)現(xiàn)自動生成的代碼類名和實例名稱一樣,沖突導(dǎo)致的。

3:自定義控件類頭文件引入,Qt5.7以下版本為#include <QtDesigner/QDesignerExportWidget> 以上版本為#include <QtUiPlugin/QDesignerExportWidget>

4:類名前必須加入 QDESIGNER_WIDGET_EXPORT 宏。否則集成到Qt Creator 中編譯會報錯。不加的話可以在設(shè)計器中加載,但是編譯會報錯。

5:如果將生成好的dll文件放到Qt庫目錄下的 plugins\designer 下,可以在 designer 中看到。放到Qt Creator下的 bin\plugins\designer 則可以集成到Qt Creator中。

6:將自定義控件的頭文件、dll文件、lib(mingw編譯器為.a)文件復(fù)制出來,放到include(可自己隨便命名,我這里習(xí)慣用include)目錄,將include目錄放到項目的源碼文件下,在使用了自定義控件的項目的pro文件中,增加兩行 INCLUDEPATH += $$PWD/include   LIBS += $$PWD/include/***.lib(mingw編譯器為.a) ,這樣可以正常編譯,但是編譯完成后不能運行,還需要將 對應(yīng)自定義控件的dll文件復(fù)制到可執(zhí)行文件同一目錄即可,至此大功告成。

番外話:大部分文章介紹都是將對應(yīng)的庫文件和頭文件放到Qt安裝目錄對應(yīng)文件夾下,為什么這里要放到一個include目錄,隨著項目一起呢?個人是這么理解的,隨項目一起,每次都可以很方便的將運行庫文件復(fù)制到可執(zhí)行文件同一目錄,而不會忘記從Qt庫對應(yīng)目錄找該運行庫。而且發(fā)布代碼的時候也可以有個很好的參考。

7:官網(wǎng)提供的Qt Creator版本基本上是MSVC版本,如果需要在mingw的Qt庫對應(yīng)的Qt Creator中集成自定義控件,需要自己用對應(yīng)的Qt庫編譯Qt Creator源碼。

MINGW Qt Creator集成運行圖

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

MSVC Qt Creator集成運行圖

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

總結(jié)了一些Qt黑科技,歡迎大家及大神積極補充,謝謝。

1:編譯前復(fù)制文件

    src_file = $$PWD/py.db

    dst_file = $$OUT_PWD/bin/py.db   

win32 {

    src_file ~= s,/,\\,g

    dst_file ~= s,/,\\,g   

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式