Slashdot Mirror


Qt 5.5 Released

New submitter mx+b writes: The latest version of Qt, the cross platform GUI toolkit and development platform, is out for all major platforms. Highlights include better 3D, multimedia, and web support, as well as better support for the latest OS X and Windows releases (including Windows 10) and more Linux distributions.

11 of 80 comments (clear)

  1. Re:Web support by UPi · · Score: 2

    Using web technologies to embed rich content into your application is not unheard of. The Steam client comes to mind as an obvious example: most of their UI lives in a webkit container. We do it at the company I work for, because it allows us to release new client and server versions separately. (We have a good reason to do that, not going into details.)

    The alternative is either to launch an external browser and display your application's content there, which is cumbersome and then you end up having to test your application with all the browsers in the world to make sure it's compatible. Yet another alternative is to use a non-webbased rich content widget; in this case you are likely to end up with something inferior AND with a smaller pool of experienced developers to hire from.

  2. Modularity by UPi · · Score: 3, Interesting

    QT is modular. This allows them to add features (you call it bloat, but I don't think it means what you think it means), and then it is up to application developers to pick and choose the modules that they want or need.

    The demand for more features is omnipresent, and software developers can either choose to fulfil them one way or another, or lose their market share to someone else who does.

    1. Re:Modularity by DrXym · · Score: 3, Informative

      It's modular but it's still got bloat. I'm writing an application which has a fairly modest UI that has a main window, some tabs and dialogs. The weight of the runtime I have to ship with it - icu*, Qt5core, Qt5Guid.dll, Qt5Widgets runtimes is nearly 38MB. Most of the modular bits with the exception of webkit - (multimedia, networking, OpenGL, SVG etc.) are comparatively lightweight compared to the slab of unavoidable "core" stuff that you need whether you like it or not.

    2. Re: Modularity by Anonymous Coward · · Score: 3, Informative

      QtCore has to handle unicode, so it needs all the information on all defines Unicode characters. Those are huge. That is hardly something that Qt can be blamed for. It tries to use the tables in the OS where possible after all.

    3. Re:Modularity by Kjella · · Score: 4, Informative

      The very page you link to says:

      Some might argue that there might arise a small problem with shipping 27M ICU libraries. If you don't need ICU (http://site.icu-project.org/) you have to recompile Qt with ./configure -without-icu.

      What's ICU?

      Here are a few highlights of the services provided by ICU:

      Code Page Conversion: Convert text data to or from Unicode and nearly any other character set or encoding. ICU's conversion tables are based on charset data collected by IBM over the course of many decades, and is the most complete available anywhere.

      Collation: Compare strings according to the conventions and standards of a particular language, region or country. ICU's collation is based on the Unicode Collation Algorithm plus locale-specific comparison rules from the Common Locale Data Repository, a comprehensive source for this type of data.

      Formatting: Format numbers, dates, times and currency amounts according the conventions of a chosen locale. This includes translating month and day names into the selected language, choosing appropriate abbreviations, ordering fields correctly, etc. This data also comes from the Common Locale Data Repository.

      Time Calculations: Multiple types of calendars are provided beyond the traditional Gregorian calendar. A thorough set of timezone calculation APIs are provided.

      Unicode Support: ICU closely tracks the Unicode standard, providing easy access to all of the many Unicode character properties, Unicode Normalization, Case Folding and other fundamental operations as specified by the Unicode Standard.

      Regular Expression: ICU's regular expressions fully support Unicode while providing very competitive performance.

      Bidi: support for handling text containing a mixture of left to right (English) and right to left (Arabic or Hebrew) data.

      Text Boundaries: Locate the positions of words, sentences, paragraphs within a range of text, or identify locations that would be suitable for line wrapping when displaying the text.

      And much more. Refer to the ICU User Guide for details.

      Not sure exactly how much Qt functionality you'd lose, but it's an optional dependency.

      --
      Live today, because you never know what tomorrow brings
  3. Re:Why do they bother by Gravis+Zero · · Score: 4, Informative

    QT is a huge stinking pile of bloatware. I eschew it.

    You are right, QuickTime is bloatware. However, Qt is well written and you are given the option to build only what you need and which libraries it should use. The render engine is exceptionally flexible too, allowing it to leverage many different methods of rendering. Don't have X? no problem, add a runtime argument (-platform linuxfb) and your qt program will display using the linux framebuffer. Qt also builds for desktops (e.g. Linux, Windows) and embedded systems (e.g. Android, iOS) and is easy to cross-compile for your device of choice.

    if you think GTK+ is slimmer, guess again and check your binaries.

    --
    Anons need not reply. Questions end with a question mark.
  4. Re:Web support by Gravis+Zero · · Score: 2, Informative

    When I've read "web support" I though "Cool! I will finally get good support to run QT apps on a standard browser".

    actually, you can do that

    But alas, it just means running a Chromium engine embedded in a QT app.

    no, it uses WebKit while Chromium uses Blink, a fork of WebKit.

    Who wants to run web sites in an app nowadays instead of opening them directly in a browser?

    well... if you wrote a web browser in qt you would. what about an RSS feed reader? it has it's uses but it's true it shouldn't be abused.

    --
    Anons need not reply. Questions end with a question mark.
  5. Not just a GUI toolkit by Prien715 · · Score: 5, Insightful

    Qt is not just a GUI toolkit. Doxygen has been using it for years. I do high performance computing and copy-on-write data structures (as Scott Myer suggest a decade ago in "More Effective C++") means I don't have to worry about functions returning references to a std::vector because QVector's copy constructor is O(1) as Scott Myers recommended a decade ago. I have a sane cross-platform cross-DB SQL interface. My strings are Unicode (and copy-on-write).
    Qt allows you to write high performance code but in a style closer to Perl (especially with 11. "Auto" is "my") while enabling a coder to use high performance C code without needing to write fancy interfaces and compile schemes Everything from threading (QtConcurrent is great!) to file access to JSON to regex to is well-documented and the compile errors are sane (see: boost) and the code is terse (also: boost).
    If you're doing serious C++ development with a small team, Qt is the best way to get things done in my experience...and it's also trivial to make a GUI to represent a SQL query.

    --
    -- Political fascism requires a Fuhrer.
  6. Re:One of these days by angel'o'sphere · · Score: 2

    Java is excellent for client code, first of all we have Swing and if you like to use Groovy: Griffon, a GUI framework, and secondly you have JavaFX the new Java GUI Framework.

    Against Java and for Qt only speak, what you don't want anyway: portability to mobile devices.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  7. Re:Web support by Carewolf · · Score: 3, Informative

    no, it uses WebKit while Chromium uses Blink, a fork of WebKit.

    No, the new web module for Qt called QtWebEngine is based on Chromium, and yes, it is pretty much running a Chromium webview inside your application. It is the cost of having to have a standard web engine that works on all platforms, after Apple became too difficult to work with after Google left.

  8. Re:Expensive!! by Anonymous Coward · · Score: 2, Informative

    You can use the GPL/LGPL versions of Qt. Those options work well for a wide range of users (incl. some that sell proprietary software based on Qt).

    If you need to have a commercial license for your proprietary software and can't affort 4,2k per year and developer, then you got more important problems than whether or not to use Qt;-)