Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt Creator and other tools
  4. How to build wxWidgetsets project using Qt Creator?
QtWS25 Last Chance

How to build wxWidgetsets project using Qt Creator?

Scheduled Pinned Locked Moved Solved Qt Creator and other tools
15 Posts 3 Posters 330 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Kobid
    wrote on last edited by
    #1

    Hi,
    I have hobby project which I must write using wxWidgetsets. I was able to configure wxWidgets and compile my simple demo using CodeBlocks, CodeLite and even Visual Studio Code but can't figure it out do it in Qt Creator which I'm used to and like it very much. I'm not master in CMake and QMake and g++ compiler flags because IDE always did it for me. First I tried C++ project using QMake build system:

    TEMPLATE = app
    CONFIG += console c++17
    #CONFIG += c++17
    #CONFIG -= app_bundle
    CONFIG -= qt
    
    #QMAKE_CFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags`
    #QMAKE_CFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --libs`
    QMAKE_CXXFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags`
    #QMAKE_LFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --libs`
    #QMAKE_LFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs`
    
    SOURCES += \
            SimpleBackupApp.cpp \
            SimpleBackupMain.cpp \
            ZipProcess.cpp
    
    DISTFILES += \
        SimpleBackupWx.pro.user
    
    HEADERS += \
        SimpleBackupApp.h \
        SimpleBackupMain.h \
        ZipProcess.h
    
    INCLUDEPATH += /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2
    INCLUDEPATH += /home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2
    
    #INCLUDEPATH += \
    #    /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2 \
    #    /home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2
    

    but it results with thousands erorrs like:

    :-1: błąd: SimpleBackupMain.o: warning: relocation against `_ZTV8wxBitmap' in read-only section `.text._ZN8wxBitmapC2Ev[_ZN8wxBitmapC5Ev]'
    :-1: błąd: SimpleBackupApp.o: in function `main':
    /bin/ld: SimpleBackupApp.o: in function `main':
    /home/dibo/praca/projects/SimpleBackupWx/build/Desktop_Qt_6_8_1-Debug/../../SimpleBackupApp.cpp:21:(.text+0x22): undefined reference to `wxEntry(int&, char**)'
    :-1: błąd: SimpleBackupApp.o: in function `wxCreateApp()':
    /bin/ld: SimpleBackupApp.o: in function `wxCreateApp()':
    /home/dibo/praca/projects/SimpleBackupWx/build/Desktop_Qt_6_8_1-Debug/../../SimpleBackupApp.cpp:21:(.text+0x5d): undefined reference to `wxAppConsoleBase::CheckBuildOptions(char const*, char const*)'
    :-1: błąd: SimpleBackupApp.o: in function `wxGet_wxConvLibc()':
    /bin/ld: SimpleBackupApp.o: in function `wxGet_wxConvLibc()':
    /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2/wx/strconv.h:616:(.text._Z16wxGet_wxConvLibcv[_Z16wxGet_wxConvLibcv]+0xb): undefined reference to `wxConvLibcPtr'
    :-1: błąd: /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2/wx/strconv.h:616:(.text._Z16wxGet_wxConvLibcv[_Z16wxGet_wxConvLibcv]+0x15): undefined reference to `wxGet_wxConvLibcPtr()'
    :-1: błąd: /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2/wx/strconv.h:616:(.text._Z16wxGet_wxConvLibcv[_Z16wxGet_wxConvLibcv]+0x1c): undefined reference to `wxConvLibcPtr'
    :-1: błąd: /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2/wx/strconv.h:616:(.text._Z16wxGet_wxConvLibcv[_Z16wxGet_wxConvLibcv]+0x23): undefined reference to `wxConvLibcPtr'
    

    So I tried C++ project with CMake build system:
    (CMakeLists.txt):

    cmake_minimum_required(VERSION 3.16)
    
    project(SimpleBackupWX2 LANGUAGES CXX)
    
    set(CMAKE_CXX_STANDARD 17)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)
    
    INCLUDE_DIRECTORIES("/home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2")
    INCLUDE_DIRECTORIES("/home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2")
    
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs`")
    
    add_executable(SimpleBackupWX2
        SimpleBackupMain.cpp SimpleBackupMain.h ZipProcess.h ZipProcess.cpp SimpleBackupApp.h SimpleBackupApp.cpp )
    
    include(GNUInstallDirs)
    install(TARGETS SimpleBackupWX2
        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
    )
    

    And having exactly the same errors. I have looked at "Compiler messages" tabsheet and noticed that wx-config flag is set at the beginning of g++ but it should be at the end:

    /bin/g++ -DQT_QML_DEBUG `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs` -g  CMakeFiles/SimpleBackupWX2.dir/SimpleBackupMain.cpp.o CMakeFiles/SimpleBackupWX2.dir/ZipProcess.cpp.o CMakeFiles/SimpleBackupWX2.dir/SimpleBackupApp.cpp.o -o SimpleBackupWX2
    

    Why it is doing like that? In .pro file I'm using += and in CMake ${CMAKE_CXX_FLAGS}

    1 Reply Last reply
    0
    • Christian EhrlicherC Offline
      Christian EhrlicherC Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by
      #2

      You don't link against the wxwidgets libraries so the linker can't find the symbols.
      See LIBS for qmake and target_link_libraries() for cmake.

      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
      Visit the Qt Academy at https://academy.qt.io/catalog

      1 Reply Last reply
      1
      • K Offline
        K Offline
        Kobid
        wrote on last edited by
        #3

        I don't need to because I have compiled wxWidgets using --disable-shared, this options come from wx-config --cflags --libs but it should be appended at the end for g++ and I don't know how to do it

        Christian EhrlicherC 1 Reply Last reply
        0
        • K Kobid

          I don't need to because I have compiled wxWidgets using --disable-shared, this options come from wx-config --cflags --libs but it should be appended at the end for g++ and I don't know how to do it

          Christian EhrlicherC Offline
          Christian EhrlicherC Offline
          Christian Ehrlicher
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @Kobid said in How to build wxWidgetsets project using Qt Creator?:

          I don't need to because I have compiled wxWidgets using --disable-shared

          This just means you compiled wxwidgets as static lib. You have to link against them if you want to use symbols from there.

          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
          Visit the Qt Academy at https://academy.qt.io/catalog

          1 Reply Last reply
          2
          • K Offline
            K Offline
            Kobid
            wrote on last edited by
            #5

            Yes, all -L comes from wx-config shell, I think I don't need do this by my self, I mean I didn't have to in CodeBlocks, CodeLite and Visual Studio Code. I think problem is with args order. When I change this (this is how Qt Creator pass it to gcc) from:

            /bin/g++ -DQT_QML_DEBUG `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs` -g  CMakeFiles/SimpleBackupWX2.dir/SimpleBackupMain.cpp.o CMakeFiles/SimpleBackupWX2.dir/ZipProcess.cpp.o CMakeFiles/SimpleBackupWX2.dir/SimpleBackupApp.cpp.o -o SimpleBackupWX2
            

            to (I change it in console of course):

            /bin/g++ -DQT_QML_DEBUG -g  CMakeFiles/SimpleBackupWX2.dir/SimpleBackupMain.cpp.o CMakeFiles/SimpleBackupWX2.dir/ZipProcess.cpp.o CMakeFiles/SimpleBackupWX2.dir/SimpleBackupApp.cpp.o -o SimpleBackupWX2 `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs`
            

            then my project is compiling fine

            JonBJ 1 Reply Last reply
            0
            • K Offline
              K Offline
              Kobid
              wrote on last edited by Kobid
              #6

              For example, in Visual Studio Code this is how I'm preparing tasks.json which is responsible for building my wxWidgetsets project using g++ and it simply works and even debugging works in this IDE, I don't need to link anything, wx-config is the last argument:

              {
                  "tasks": [
                      {
                          "type": "cppbuild",
                          "label": "C/C++: g++ kompiluj aktywny plik",
                          "command": "/usr/bin/g++",
                          "args": [
                              "-fdiagnostics-color=always",
                              "-g",
                              "${fileDirname}/**.cpp",
                              "-o",
                              "${fileDirname}/${fileBasenameNoExtension}",
                              "`/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config",
                              "--cflags",
                              "--libs`"
                          ],
                          "options": {
                              "cwd": "${fileDirname}"
                          },
                          "problemMatcher": [
                              "$gcc"
                          ],
                          "group": {
                              "kind": "build",
                              "isDefault": true
                          },
                          "detail": "Zadanie wygenerowane przez debuger."
                      }
                  ],
                  "version": "2.0.0"
              }
              
              1 Reply Last reply
              0
              • K Kobid

                Yes, all -L comes from wx-config shell, I think I don't need do this by my self, I mean I didn't have to in CodeBlocks, CodeLite and Visual Studio Code. I think problem is with args order. When I change this (this is how Qt Creator pass it to gcc) from:

                /bin/g++ -DQT_QML_DEBUG `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs` -g  CMakeFiles/SimpleBackupWX2.dir/SimpleBackupMain.cpp.o CMakeFiles/SimpleBackupWX2.dir/ZipProcess.cpp.o CMakeFiles/SimpleBackupWX2.dir/SimpleBackupApp.cpp.o -o SimpleBackupWX2
                

                to (I change it in console of course):

                /bin/g++ -DQT_QML_DEBUG -g  CMakeFiles/SimpleBackupWX2.dir/SimpleBackupMain.cpp.o CMakeFiles/SimpleBackupWX2.dir/ZipProcess.cpp.o CMakeFiles/SimpleBackupWX2.dir/SimpleBackupApp.cpp.o -o SimpleBackupWX2 `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs`
                

                then my project is compiling fine

                JonBJ Offline
                JonBJ Offline
                JonB
                wrote on last edited by JonB
                #7

                @Kobid
                If you want to figure out why the order of arguments matters, we could understand the command line better if we knew what the

                `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs`
                

                is returning, so we can compare the two actual, full command lines are, and hence how their behaviour differs.

                I don't know how, but there is probably a way to get qmake or cmake alter what order arguments are passed. It's a bit tricky as obviously you have a single "token" returning some mixture of arguments.

                Btw, do you need the --cflags argument to wx-config when you are producing the arguments for just the linker?

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  Kobid
                  wrote on last edited by
                  #8

                  Ahh, sorry, you are right, this is what it is returning:

                  -I/home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2 -I/home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2 -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -pthread
                  -L/home/dibo/programowanie/wxWidgetsInstallGTK/lib -pthread   /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_xrc-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_qa-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_baseu_net-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_html-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_core-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_baseu_xml-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_baseu-3.2.a -lgthread-2.0 -pthread -lX11 -lXxf86vm -lSM -lxkbcommon -lgtk-3 -lgdk-3 -lpangocairo-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lXtst -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype -lwxscintilla-3.2 -lexpat -lpcre2-32 -lpng -ljpeg -ltiff -ljbig -lz -lm
                  
                  JonBJ 1 Reply Last reply
                  0
                  • K Kobid

                    Ahh, sorry, you are right, this is what it is returning:

                    -I/home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2 -I/home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2 -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -pthread
                    -L/home/dibo/programowanie/wxWidgetsInstallGTK/lib -pthread   /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_xrc-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_qa-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_baseu_net-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_html-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_gtk3u_core-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_baseu_xml-3.2.a /home/dibo/programowanie/wxWidgetsInstallGTK/lib/libwx_baseu-3.2.a -lgthread-2.0 -pthread -lX11 -lXxf86vm -lSM -lxkbcommon -lgtk-3 -lgdk-3 -lpangocairo-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lXtst -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype -lwxscintilla-3.2 -lexpat -lpcre2-32 -lpng -ljpeg -ltiff -ljbig -lz -lm
                    
                    JonBJ Offline
                    JonBJ Offline
                    JonB
                    wrote on last edited by
                    #9

                    @Kobid
                    You have

                    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs`")
                    

                    Those are intended to be C++ flags (compiler) and would naturally come early on the command line. I think you want the linker library flags to go into qmake's LIBS or target_link_libraries() for cmake, as @Christian-Ehrlicher said earlier. That would be placed at the end of the linker command line. I know nothing about this, but maybe --cflags only should be used to construct CMAKE_CXX_FLAGS while --libs only should be used to construct LIBS/target_link_libraries()?

                    1 Reply Last reply
                    1
                    • K Offline
                      K Offline
                      Kobid
                      wrote on last edited by
                      #10

                      I thought so that I'll probably need to add all libs in my .pro / cmakelists manually, there is a lot of them, --libs did all of the work in other IDEs. Well, no time to waste, it will be long evening :D

                      JonBJ 1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        Kobid
                        wrote on last edited by Kobid
                        #11

                        But maybe there is some nasty workaround? For example in Visual Studio Code I also did a trick, I could not set this as one argument:

                        "args": [
                                        "-fdiagnostics-color=always",
                                        "-g",
                                        "${fileDirname}/**.cpp",
                                        //"${file}",
                                        "-o",
                                        "${fileDirname}/${fileBasenameNoExtension}",
                                        "`/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags --libs`",
                                    ],
                        

                        That is because if VS detect space in JSON argument, it pass to gcc as quoted argument. That is why I splitted it to:

                        "`/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config",
                                       "--cflags",
                                       "--libs`"
                        
                        1 Reply Last reply
                        0
                        • K Kobid

                          I thought so that I'll probably need to add all libs in my .pro / cmakelists manually, there is a lot of them, --libs did all of the work in other IDEs. Well, no time to waste, it will be long evening :D

                          JonBJ Offline
                          JonBJ Offline
                          JonB
                          wrote on last edited by JonB
                          #12

                          @Kobid said in How to build wxWidgetsets project using Qt Creator?:

                          I thought so that I'll probably need to add all libs in my .pro / cmakelists manually, there is a lot of them, --libs did all of the work in other IDEs. Well, no time to waste, it will be long evening :D

                          I don't understand. If you can run a command from cmake/qmake to what goes in CMAKE_CXX_FLAGS why can't you do so for LIBS or target_link_libraries() in the same way? Instead of you saying you have to paste in manually. Oh, you mean just doing that has to be across many makefiles? For all I know there might eb a global way. You could wait to see if someone else replies.

                          1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            Kobid
                            wrote on last edited by Kobid
                            #13

                            Woooow!! I always thought that LIBS expect path to existing file etc. I didn't expect that it will accept shell command. I added this:

                            LIBS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --libs`
                            

                            And everything is working! App is building and running. Amazing, I can use now my favourite IDE. Thank you guys!!
                            This is my finall .pro file. I must check if I can do same in CMake because I don't know yet which build system I will use:

                            TEMPLATE = app
                            CONFIG += c++17
                            CONFIG -= app_bundle
                            CONFIG -= qt
                            
                            QMAKE_CXXFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags`
                            
                            SOURCES += \
                                    SimpleBackupApp.cpp \
                                    SimpleBackupMain.cpp \
                                    ZipProcess.cpp
                            
                            DISTFILES += \
                                SimpleBackupWx.pro.user
                            
                            HEADERS += \
                                SimpleBackupApp.h \
                                SimpleBackupMain.h \
                                ZipProcess.h
                            
                            INCLUDEPATH += /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2
                            INCLUDEPATH += /home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2
                            
                            LIBS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --libs`
                            

                            But don't know why editor is still showing errors and don't recognize some wx classes and overloaded constructors. INCLUDEPATH is responsible for code completion or I must set paths to WX stricte in Qt Creator settings?
                            f32f74d2-54bb-4dc4-9b7a-9c44a07dce89-obraz.png

                            JonBJ 1 Reply Last reply
                            0
                            • K Kobid

                              Woooow!! I always thought that LIBS expect path to existing file etc. I didn't expect that it will accept shell command. I added this:

                              LIBS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --libs`
                              

                              And everything is working! App is building and running. Amazing, I can use now my favourite IDE. Thank you guys!!
                              This is my finall .pro file. I must check if I can do same in CMake because I don't know yet which build system I will use:

                              TEMPLATE = app
                              CONFIG += c++17
                              CONFIG -= app_bundle
                              CONFIG -= qt
                              
                              QMAKE_CXXFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags`
                              
                              SOURCES += \
                                      SimpleBackupApp.cpp \
                                      SimpleBackupMain.cpp \
                                      ZipProcess.cpp
                              
                              DISTFILES += \
                                  SimpleBackupWx.pro.user
                              
                              HEADERS += \
                                  SimpleBackupApp.h \
                                  SimpleBackupMain.h \
                                  ZipProcess.h
                              
                              INCLUDEPATH += /home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2
                              INCLUDEPATH += /home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2
                              
                              LIBS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --libs`
                              

                              But don't know why editor is still showing errors and don't recognize some wx classes and overloaded constructors. INCLUDEPATH is responsible for code completion or I must set paths to WX stricte in Qt Creator settings?
                              f32f74d2-54bb-4dc4-9b7a-9c44a07dce89-obraz.png

                              JonBJ Offline
                              JonBJ Offline
                              JonB
                              wrote on last edited by
                              #14

                              @Kobid
                              You can right-click on an orange-underlined function and select something like "Go to definition" or "declaration". See what is there and whether it's the path to the included file you expected.

                              1 Reply Last reply
                              0
                              • K Offline
                                K Offline
                                Kobid
                                wrote on last edited by Kobid
                                #15

                                Ok. Finally solved everything. Checked compiler output and wx-config shell execution doesn't work in case of QMAKE_CXXFLAGS like it works in LIBS. So I changed this:

                                QMAKE_CXXFLAGS += `/home/dibo/programowanie/wxWidgetsInstallGTK/bin/wx-config --cflags`
                                

                                To what this command exactly return:

                                QMAKE_CXXFLAGS += -I/home/dibo/programowanie/wxWidgetsInstallGTK/lib/wx/include/gtk3-unicode-static-3.2 -I/home/dibo/programowanie/wxWidgetsInstallGTK/include/wx-3.2 -D_FILE_OFFSET_BITS=64 -D__WXGTK__ -pthread
                                

                                And now everything works perfectly, even code completion. Important -D__WXGTK__ was missed because gcc was called without what wx-config return

                                1 Reply Last reply
                                0
                                • K Kobid has marked this topic as solved on

                                • Login

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • Users
                                • Groups
                                • Search
                                • Get Qt Extensions
                                • Unsolved