Results 1 to 18 of 18

Thread: Is Qt for us?

  1. #1
    Join Date
    May 2013
    Posts
    6
    Thanks
    1
    Thanked 2 Times in 2 Posts
    Qt products
    Qt3
    Platforms
    Windows

    Default Is Qt for us?

    Hello!

    Glad to be here.

    I am the coach of a major GIS project (mapping software). A few years ago we started this project. In order to quickly develop it, we used Embarcadero (Borland) IDE, because it was the one I knew best. This approach has been successful because we have a strong product in record time.

    However, Embarcadero has severe limitations, and therefore we are think about changing programming environment.

    Specifically we have the following problems:

    1) We need to generate products for various platforms (Windows, Mac, Linux). Embarcadero has released Fire Monkey, which generates executables for Windows and Mac, but the way it does does not convince us.

    2) We constantly find that we need to use open libraries (boost, Cairo, liblas, etc.) that do not compile or partially compiled in Embarcadero. This is actually the main problem.

    So we are looking for a development environment that allows us to evolve smoothly. Of the alternatives, we have the impression that Qt might be the best. I enter this forum to ask you to you, if you are so kind, and give me your opinion on whether Qt is what we need. So below I detail our requirements:

    1) Multiplatform Development
    2) Support for Unicode and multi-language
    3) We work with Access mdb using ADO (in Windows), so, is it possible to easily use ADO within Qt? Embarcadero has some great components for it (TADOConnection, TADODataset, etc.) very helpful.
    4) We draw graphics using OpenGL. So far we've draw simple lines, filled polygons, etc, but now we want to draw more complex objects such as thick "stippled" lines with antialiasing, SVG objects, quality text, etc.. We have seen some libraries like Cairo and Skia, but they do not draw directly on OpenGL or cannot be compiled by Embarcadero. I do not know if Qt can help us in this task.
    5) Full support for boost
    6) Powerful development environment that allows creating interfaces with Ribbons, skins and advanced controls.

    Thank you very much in advance for your help!
    Best regards!

    José

  2. The following user says thank you to jcurru for this useful post:


  3. #2
    Join Date
    Sep 2011
    Posts
    1,241
    Thanks
    3
    Thanked 127 Times in 126 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Is Qt for us?

    Qt is a c++ library.
    Qt Creator is an IDE

    You can use either without the other.

    1) Qt does not provide cross compilers. Qt Creator is available on multiple platforms
    2)-4) yes. Qt has classes to help with translation, OpenGL and ActiveX. Qt is unicode aware.

    5) 'support' for boost has nothing to do with Qt - that is down to the compiler, obviously!
    6) yes, Qt has lots of ui features.
    If you have a problem, CUT and PASTE your code. Do not retype or simplify it. Give a COMPLETE and COMPILABLE example of your problem. Otherwise we are all guessing the problem from a fabrication where relevant details are often missing.

  4. The following user says thank you to amleto for this useful post:


  5. #3
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    1) We need to generate products for various platforms (Windows, Mac, Linux). Embarcadero has released Fire Monkey, which generates executables for Windows and Mac, but the way it does does not convince us.
    With Qt you need Qt framework itself built for each of the platforms you want to target -- for most targets binaries are provided so you should be good here. You also need a working toolchain for each of the targets which can either be a cross-compiler or a native compiler ran in a particular platform you're building for (so you need a working Mac installation to build for Mac and a working Windows installation to build for Windows).

    2) We constantly find that we need to use open libraries (boost, Cairo, liblas, etc.) that do not compile or partially compiled in Embarcadero. This is actually the main problem.
    Qt works with the most standard compilers available -- gcc/mingw, msvc, icc, clang so you can use anything that builds with any of those. Borland compiler is inherently broken and is thus not supported by Qt (and likely many other libraries and frameworks).

    1) Multiplatform Development
    supported

    2) Support for Unicode and multi-language
    fully supported

    3) We work with Access mdb using ADO (in Windows), so, is it possible to easily use ADO within Qt? Embarcadero has some great components for it (TADOConnection, TADODataset, etc.) very helpful.
    Qt can work with ActiveX however the suggested path to access relational databases with Qt is to use Qt's own SQL infrastructure. For Access you'd go through ODBC. For free you get access to other kinds of databases if needed (e.g. on Mac).

    4) We draw graphics using OpenGL. So far we've draw simple lines, filled polygons, etc, but now we want to draw more complex objects such as thick "stippled" lines with antialiasing, SVG objects, quality text, etc.. We have seen some libraries like Cairo and Skia, but they do not draw directly on OpenGL or cannot be compiled by Embarcadero. I do not know if Qt can help us in this task.
    With Qt you can use OpenGL calls directly or you can overpaint an existing OpenGL scene with Qt's native painting system. Using external libraries for drawing might not be easy or even possible but then you shouldn't need them at all as Qt has similar capabilities in this regard as Cairo.

    5) Full support for boost
    Qt doesn't mind you using boost in your apps.

    6) Powerful development environment that allows creating interfaces with Ribbons, skins and advanced controls.
    Ribbons are not cross-platform and are a patented technology thus are not available in Qt. There is a 3rd-party ribbon component available but you have to pay for it separately.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  6. The following user says thank you to wysota for this useful post:


  7. #4
    Join Date
    May 2013
    Posts
    6
    Thanks
    1
    Thanked 2 Times in 2 Posts
    Qt products
    Qt3
    Platforms
    Windows

    Default Re: Is Qt for us?

    Quote Originally Posted by amleto View Post
    Qt is a c++ library.
    Qt Creator is an IDE

    You can use either without the other.

    1) Qt does not provide cross compilers. Qt Creator is available on multiple platforms
    2)-4) yes. Qt has classes to help with translation, OpenGL and ActiveX. Qt is unicode aware.

    5) 'support' for boost has nothing to do with Qt - that is down to the compiler, obviously!
    6) yes, Qt has lots of ui features.
    Thanks, amleto.
    So Qt is a C++ library, something like the Borland's VCL. That's important ;-)
    I thought Qt was an IDE / compiler.
    Sounds great. Thanks again!

    Quote Originally Posted by wysota View Post
    With Qt you need Qt framework itself built for each of the platforms you want to target -- for most targets binaries are provided so you should be good here. You also need a working toolchain for each of the targets which can either be a cross-compiler or a native compiler ran in a particular platform you're building for (so you need a working Mac installation to build for Mac and a working Windows installation to build for Windows).
    Thanks for your answer, wysota. It was very helpfull.

    Qt works with the most standard compilers available -- gcc/mingw, msvc, icc, clang so you can use anything that builds with any of those. Borland compiler is inherently broken and is thus not supported by Qt (and likely many other libraries and frameworks).
    Ok. So let's start in Windows: I need Windows itself, Qt, an IDE and a compiler, isn't it? Would you recommend IDE and compiler, please?

    Qt can work with ActiveX however the suggested path to access relational databases with Qt is to use Qt's own SQL infrastructure. For Access you'd go through ODBC. For free you get access to other kinds of databases if needed (e.g. on Mac).
    Mmmm: ODBC is much slower than ADO, but in the other hand is portable. Ok.

    With Qt you can use OpenGL calls directly or you can overpaint an existing OpenGL scene with Qt's native painting system. Using external libraries for drawing might not be easy or even possible but then you shouldn't need them at all as Qt has similar capabilities in this regard as Cairo.
    That's really interesting. Maybe you can tell me were can I find documentation about the Qt's drawing capabilities?

    Qt doesn't mind you using boost in your apps.
    Ok: that depends on the compiler.

    Ribbons are not cross-platform and are a patented technology thus are not available in Qt. There is a 3rd-party ribbon component available but you have to pay for it separately.
    Ok (and I guess that a ribbon application wouldn't be well appreciated by Mac users...)

    Thanks again!!
    Last edited by jcurru; 7th May 2013 at 08:31.

  8. The following user says thank you to jcurru for this useful post:


  9. #5
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    Ok. So let's start in Windows: I need Windows itself, Qt, an IDE and a compiler, isn't it? Would you recommend IDE and compiler, please?
    If you download Qt installation package, it will come with QtCreator as an IDE and MinGW as a compiler (or you can download Qt for MSVC but then you need to have Visual Studio installed).

    Mmmm: ODBC is much slower than ADO, but in the other hand is portable. Ok.
    You can stick with ADO if you want at the expense of having more complex and unportable code.

    That's really interesting. Maybe you can tell me were can I find documentation about the Qt's drawing capabilities?
    General (raster) drawing capabilities are described in QPainter docs. How to overpaint OpenGL depends a bit whether you'd like to use Qt4 or Qt5. I don't know what your application is focused on but in certain situations using QtQuick for your UI might also have benefits.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  10. The following user says thank you to wysota for this useful post:


  11. #6
    Join Date
    Jan 2006
    Location
    Graz, Austria
    Posts
    8,416
    Thanks
    37
    Thanked 1,544 Times in 1,494 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    Unix/X11 Windows

    Default Re: Is Qt for us?

    Just as an additional data point regarding drawing: there is an open source "virtual globe" application called Marble which uses Qt, is available for many platforms (including some mobile devices) and has support for drawing maps, e.g.from OpenStreetMap data
    http://marble.kde.org/

    This is still just "plain drawing", no OpenGL and already pretty performant.

    You can probably check that out as a base of evaluation.

    Cheers,
    _

  12. The following 2 users say thank you to anda_skoa for this useful post:

    jcurru (13th May 2013)

  13. #7
    Join Date
    May 2013
    Posts
    6
    Thanks
    1
    Thanked 2 Times in 2 Posts
    Qt products
    Qt3
    Platforms
    Windows

    Default Re: Is Qt for us?

    Still starting...

    Well, I see that there are several Qt versions I can start with. For Windows:

    Qt 5.0.2 for Windows 32-bit (MinGW 4.7, 650 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, OpenGL, 476 MB) (Info)
    Qt 5.0.2 for Windows 64-bit (VS 2012, 500 MB) (Info)

    We need 64 bits, so we should download the last one.
    So, does this mean that we must use VS as IDE?
    Or Qt will use only the VS 64 bits compiler?
    Is it possible to develop using Qt Creator and compile for 64 bits?

    Thanks again!!

  14. #8
    Join Date
    Mar 2008
    Location
    Kraków, Poland
    Posts
    1,536
    Thanked 284 Times in 279 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Is Qt for us?

    You can download Qt sources and build library with Your favorite compiler.

  15. #9
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    We need 64 bits
    Why is that?
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  16. #10
    Join Date
    May 2013
    Posts
    6
    Thanks
    1
    Thanked 2 Times in 2 Posts
    Qt products
    Qt3
    Platforms
    Windows

    Default Re: Is Qt for us?

    Quote Originally Posted by wysota View Post
    Why is that?
    Some objects in memory can grow incredibly; wee need more memory.

  17. #11
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    Some objects in memory can grow incredibly; wee need more memory.
    I suggest you start with 32 bits to avoid having to rebuild Qt in the beginning of your journey. Once you grow more comfortable with Qt, its toolchain and environment, you can try building Qt for 64 bits with the compiler of your choice.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  18. #12
    Join Date
    May 2013
    Posts
    6
    Thanks
    1
    Thanked 2 Times in 2 Posts
    Qt products
    Qt3
    Platforms
    Windows

    Default Re: Is Qt for us?

    Quote Originally Posted by wysota View Post
    Why is that?
    In that case there are tree possibilities:

    Qt 5.0.2 for Windows 32-bit (MinGW 4.7, 650 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, OpenGL, 476 MB) (Info)

    I guess you suggest using the first one, but the last one says something about OpenGL.
    OpenGL is a key part of our system, so... what does it mean?

    Thanks again

  19. #13
    Join Date
    Mar 2009
    Location
    Brisbane, Australia
    Posts
    7,729
    Thanks
    13
    Thanked 1,610 Times in 1,537 Posts
    Qt products
    Qt4 Qt5
    Platforms
    Unix/X11 Windows
    Wiki edits
    17

    Default Re: Is Qt for us?

    We need 64 bits, so we should download the last one.
    OK.
    So, does this mean that we must use VS as IDE?
    No, you don't have to use the IDE. However, the only place to get the VS 2012 C++ compiler chain is in Visual Studio so you need that installed (You can use the Express version). You then configure your IDE of choice to run those tools to make/compile/link.
    Or Qt will use only the VS 64 bits compiler?
    The Qt project only produces pre-compiled 64-bit binaries using that compiler. You can use a VS2010 or Intel compiler to produce 64-bit binaries if you wish. I expect Qt will probably build with a 64-bit MingW also, but I have not tried.
    Is it possible to develop using Qt Creator and compile for 64 bits?
    Yes. The IDE and the compiler are two separate beasts. Qt Creator is quite capable of switching back and forth between 32-bit and 64-bit targets if the appropriate configuration is done (Kits) and matching Qt builds are present.

  20. #14
    Join Date
    Jan 2006
    Location
    Graz, Austria
    Posts
    8,416
    Thanks
    37
    Thanked 1,544 Times in 1,494 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    Unix/X11 Windows

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    So, does this mean that we must use VS as IDE?
    No, this just means that Qt of that package as been built using that compiler.
    This is to indicate which compiler will be necessary to build applications using that version of Qt.


    Quote Originally Posted by jcurru View Post
    Or Qt will use only the VS 64 bits compiler?
    Exactly

    Quote Originally Posted by jcurru View Post
    Is it possible to develop using Qt Creator and compile for 64 bits?
    Yes.
    Either by configuring QtCreator to use the VS compiler and using the pre-built Qt/64bit or building Qt with MingW in 64bit configuration.

    As Wysota said, you an probably start with any Qt version and later rebuild with a 64bit version at a point where you feel comfortable with building Qt yourself and have mastered its tools.

    Cheers,
    _

  21. #15
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    In that case there are tree possibilities:

    Qt 5.0.2 for Windows 32-bit (MinGW 4.7, 650 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, OpenGL, 476 MB) (Info)

    I guess you suggest using the first one, but the last one says something about OpenGL.
    OpenGL is a key part of our system, so... what does it mean?
    "OpenGL" probably means that this version of Qt uses native OpenGL drivers as opposed to emulating OpenGL calls with DirectX (ANGLE). This is not that much relevant for you, all the downloads will support OpenGL. If you don't have VS 2010 already installed, I'd suggest the first option -- it has a bundled MinGW compiler so you essentially get a complete devlopement environment in a single package. If you want, you can always switch to VS2010 or VS2012 later. As for the rest of your questions, others have already answered them.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  22. #16
    Join Date
    May 2013
    Posts
    6
    Thanks
    1
    Thanked 2 Times in 2 Posts
    Qt products
    Qt3
    Platforms
    Windows

    Default Re: Is Qt for us?

    Well, the truth is that your answers have satiated my thirst for knowledge about Qt. It's time to get going. And something that brings me closer to Qt has been my first look at this forum, and the friendliness and professionalism you responded to me.

    Thank you!

  23. #17
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    And something that brings me closer to Qt has been my first look at this forum, and the friendliness and professionalism you responded to me.
    We are having better and worse days
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  24. #18
    Join Date
    Aug 2008
    Location
    Algarve, Portugal
    Posts
    288
    Thanks
    23
    Thanked 32 Times in 28 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows Symbian S60

    Default Re: Is Qt for us?

    Quote Originally Posted by jcurru View Post
    In that case there are tree possibilities:

    Qt 5.0.2 for Windows 32-bit (MinGW 4.7, 650 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, 485 MB) (Info)
    Qt 5.0.2 for Windows 32-bit (VS 2010, OpenGL, 476 MB) (Info)

    I guess you suggest using the first one, but the last one says something about OpenGL.
    OpenGL is a key part of our system, so... what does it mean?

    Thanks again
    You can also check this wiki for more information about OpenGL versus ANGLE
    __________________________________________________
    My projects: calculator MathGraphica ; SuperEpicMegaHero game ; GooglePlay ; bitbucket ; github
    Like my projects ? Buy me a kofi

  25. The following user says thank you to john_god for this useful post:


Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.