[SOLVED] Qt5 Property Browser
-
Attempting to build the code with my project.
qttreepropertybrowser.cpp 486: setMovable is not a member of QHeaderView
This is just one example.
qtvariantproperty.cpp 1652: 'qVariantValue' undeclared identifier
is another.
I'm also getting the errors that *_moc.cpp have undefined types because they are unable to see the definitions of private classes.
I will try and build with qt5 but when I linked to the qtpropertybrowser.dll for my project. QtDesigner wouldn't load my CustomWidget.dll. In fact, QtDesigner wouldn't even run because of some kind of dll load order with Qt5Widgets.dll.
I will report back.
-
How did you try to build QtPropertyBrowser ?
-
In cmake, I added the *h/*cpp files to my list of source files.
I called QT5_WRAP_CPP on the qtpropertybrowser header files.
I added the generated moc files to add_library()Example:
@
set(TARGET_H
qtpropertybrowser.h
qttreepropertybrowser.h
)set(TARGET_SRC
qtpropertybrowser.cpp
qtpropertybrowser.cpp
)QT5_WRAP_CPP(QTPROPERTYBROWSER_MOC ${TARGET_H})
add_library(${PROJECT_NAME} SHARED ${TARGET_SRC} ${QTPROPERTYBROWSER_MOC})
@This is a sample of what i'm doing in my CMakelist.txt. Then I proceed to build with Visual Studio 2012
-
Why don't you just follow the build instruction to create the QtPropertyBrowser library and use it in your project ?
-
I want to say I've tried that and had issues too. Though I don't remember what. I will give it another try once I get a chance.
I'm pretty sure I can run:
@
conifure -library
qmake
nmake
@ -
Success! Built and linked to the DLL without any issues. Created a custom widget interface and was able to pull it up in QtDesigner.
I think my original issue with doing it this way was I didn't define QT_QTPROPERTYBROWSER_IMPORT. Which meant my dynamic widget was inheriting from a static class.
Once again, thank you SGalst for taking time to help.
-
edit: solved
-
You're welcome !
If it's now working for you, please update the thread title prepending [solved] so other forum users may know a solution has been found :)
-
Hi,
could you please summarize what you have done to solve the issue? With QT4 I managed to get a cmake version of qtpropertybrowser and to include it in my project, I cannot migrate to QT5 though...
Any help?
ThanksEDIT: how can include qtpropertybrowser in my CMakeLists.txt?
-
First off, I was unsuccessful at including the qtpropertybrowser source into my CMake project and building. Just wouldn't work. So what I did was built QtPropertyBrowser as a stand alone dynamic library and then linked that into my CMake project.
Here's what I did step by step successfully on 3 different PCs.
Note: I'm running VS2012 and Qt5.2.1- Install Qt to C:\Qt
- Set C:\Qt\Qt5.2.1\5.2.1\msvc2012_64_opengl\bin to your PATH
- Download QtSolutions to C:\QtSolutions
- Run the Native x64 command prompt (VS2012) and cd to C:\QtSolutions\QtProperyBrowser
- Follow the given directions in QtPropertyBrowser
@
configure -library
qmake
nmake
@
This will build the dynamic library for you.
- From here I wrote a simple Find QtPropertyBrowser for my CMake project.
- Link to QtPropertyBrowser in CMake and ensure the import definition is defined (found in header file)
@
add_definitions(-DQT_QTPROPERTYBROWSER_IMPORT)
target_link_libraries(${PROJECT_NAME} ${QTPROPERTYBROWSER_LIBRARIES})
@
This was about all I did as far as I can remember. Hope this helps.
-
Thanks you a lot, I finally managed to compile QtPropertyBrowser with Qt5 and cmake tweaking some functions in the code and the cmake configuration files found here: https://github.com/commontk/QtPropertyBrowser.
The libraries were successfully linked into my project.