2017-03-24 72 views
0

我已閱讀了Qt教程,我已經搜索過網絡,但是我無法找到如何使用Qt 5.8.x構建自定義插件的確切方法。在例子tutorial中,我可以爲Qt 4.x構建小部件,因爲我已經成功了。對於Qt 5.8.x,我缺乏這樣簡單的教程。如何爲qt設計器構建自定義小部件

即使您使用Qt的嚮導中的構建來設置這樣的自定義小部件項目,也會以沒有識別的小部件庫結束。

所以首先,對安裝路徑存在困惑,makefile在安裝插件時應該提及。

在項目文件中,人們可以找到在Windows路徑C 7機器的部分

target.path = $$[QT_INSTALL_PLUGINS]/designer 
INSTALLS += target 

的的Qt 5.8.0的開源版本的MinGW一個簡單的安裝之後:\ Qt的\ QT5。 8.0,變量 「QT_INSTALL_PLUGINS」 將延伸到

C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件

因而 「target.path」 爲

make install 

將被解讀爲

C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件\設計師

但與普通安裝的Qt 5.8.0的MinGW的設計師搜索其插件中

C:\ Qt的\ Qt5.8.0 \工具\ QtCreator \ BIN \插件\設計\

正如有人已經向我建議,必須設置環境變量「QT_PLUGIN_PATH」,其中Qt Creator以及Qt Designer(在子目錄「designer」中)搜索其插件。所以爲了Qt Creator仍然可以正常運行一個具有環境變量「QT_PLUGIN_PATH」設置爲

  • 原始路徑以及爲
  • 安裝路徑由$$ [QT_INSTALL_PLUGINS]

所以在下文稱我Windows 7環境我等變量 「QT_PLUGIN_PATH」 到

C:\ Qt的\ Qt5.8.0 \工具\ QtCreator \ BIN \插件; C:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件

之後,Qt Designer能夠找到自定義構建部件庫。但是Qt Designer無法加載庫。有趣的是,設計者也拒絕安裝Qt本身提供的庫。

    上LIB它說加載自定義部件
  • 「...... .dll文件無法加載:給定的程序沒有被發現」

  • 上加載提供的庫在路徑C Qt的分佈itselfs:\ Qt的\ Qt5.8.0 \ 5.8 \ mingw53_32 \插件\設計師這樣說的:

    「...... .dll文件不能被加載:提到MODUL未找到」

我爲構建庫所做的事情是,我剛剛通過項目嚮導運行以生成Qt Designer的自定義小部件。有了這樣生成的項目,我得到了一個不可裝載的lib的結果,如上所述。

爲了Qt設計器能夠正確加載lib,我需要在源文件/項目文件中更改哪些內容?

感謝您的任何提示或建議!

+0

您好,這裏是您的教程的Qt5版本實際上:http://doc.qt.io/qt-5/designer-creating-custom-widgets.html –

+0

感謝您的鏈接! 我下載了worldtimeclock示例的所有代碼和項目文件。但在我的環境中,我仍然遇到同樣的錯誤。庫無法加載。設計說:「圖書館...... worldtimeclockplugin.dll無法加載:提到的程序沒有找到」。 但我不知道,哪個程序丟失,或設計器鎖定的過程。我如何檢索這些信息? – akazen

回答

0

您似乎使用MinGW編譯器。
您不能使用默認提供的Creator製作插件,因爲它使用Visual Studio 2013/2015編譯(取決於Qt版本)。 由於DLL在Windows上的工作原理,您必須使用Creator編譯的相同編譯器來構建插件(否則無法加載它)。

轉至「幫助」菜單中的「關於Qt Creator」進行檢查。

同時一定要建立在Release模式插件。

相關問題