[英]How to install a custom widget in Qt?
我已經擴展了QListView以覆蓋其鼠標事件,並且希望將該擴展作為Qt Creator視覺設計Widget Box上的一個部件使用。
我正在遵循構建自定義窗口小部件的模擬時鍾示例。 我設法沒有錯誤地構建它。 但是我該如何安裝呢? 是否添加構建步驟並將“安裝”附加到make命令?
Qt文檔只是提到,例如,哦,您可以直接安裝它或進行安裝,而無需明確說明如何安裝自定義窗口小部件。 我如何在項目內部進行“安裝”
在.NET(即Visual Studio窗口形式)中,我要做的就是在項目中包含小部件。
我是否必須手動將.so或.dll文件復制到特定目錄?
有人可以給我一個簡潔明了的清晰解釋,我需要做什么才能使自定義小部件出現在Qt Creator小部件框中? 我不是在問如何編寫代碼和配置以創建自定義窗口小部件。 我已經有一個自定義小部件。 我只需要知道下一步是什么。
我正在使用Ubuntu,所以請不要解釋為什么/如何在mingw上為Windows重建Creator。
有一種更簡單的方法。 只需在設計器中放置一個普通的QListView,右鍵單擊並“升級為”即可。 在此輸入擴展窗口小部件的類名。
要使用小部件,您只需要包括其模塊即可進行投影。 要在Designer中查看小部件,您需要為qt designer編寫插件。
我使用了cmake和linux,但是我想這對於其他設置也是類似的。 在CMakeLists.txt中,我有:
ADD_LIBRARY(widgets_plugin SHARED
foo.cpp
)
SET_TARGET_PROPERTIES(widgets_plugin PROPERTIES COMPILE_FLAGS "${QT_DEFINITIONS} -DQDESIGNER_EXPORT_WIDGETS -DQT_PLUGIN -DQT_NO_DEBUG -DQT_SHARED")
TARGET_LINK_LIBRARIES(widgets_plugin ${QT_LIBRARIES})
IF (NOT WIN32)
ADD_CUSTOM_COMMAND(TARGET widgets_plugin POST_BUILD
COMMAND rm -fr ${CMAKE_CURRENT_BINARY_DIR}/designer
COMMAND mkdir ${CMAKE_CURRENT_BINARY_DIR}/designer
COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/libwidgets_plugin.so ${CMAKE_CURRENT_BINARY_DIR}/designer/
)
ENDIF (NOT WIN32)
之后,您需要定義環境變量
QT_PLUGIN_PATH="path/to/you/plugin"
並以查看此變量的方式運行qt designer。
我記得在非Windows計算機上存在qt設計器的奇怪行為:它不是在QT_PLUGIN_PATH上查看,而是使用$ QT_PLUGIN_PATH / designer,而在Windows上它是在查看$ QT_PLUGIN_PATH。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.