qtjambi
play

QtJambi Java bindings for the powerful Qt framework Qt Powerful - PowerPoint PPT Presentation

QtJambi Java bindings for the powerful Qt framework Qt Powerful framework for C++ GUI, XML, Database, IO, Network, Threads... Crossplatfrom including embedded systems Double license - GPL & commertial Bindings for Java, Python,Perl, PHP


  1. QtJambi Java bindings for the powerful Qt framework

  2. Qt Powerful framework for C++ GUI, XML, Database, IO, Network, Threads... Crossplatfrom including embedded systems Double license - GPL & commertial Bindings for Java, Python,Perl, PHP ... QtScript - build extensible application using EcmaScript and much more... But don't we have all these features in java already?

  3. GUI - the main reason to use QtJambi Native look and feel on all platforms Widgets (= GUI components): buttons, select boxes, tables... Subtype QWidget to make your own component easy painting with QPainter (lines, circles, texts) anti-aliasing matrix transformations alpha channel embed other widgets hardware acceleration with OpenGL UI editor (standalone or as Eclipse plugin)

  4. Signals and slots public class MyGUI { private QPushButton button; public MyGUI() { button = new QPushButton("Go!"); button.clicked .connect(this, "doSomething()" ); } public void doSomething() { System.out.println("hello world"); } }

  5. Signals and slots Not the Java-way: the clicked signal is a public field slot doSomething() referenced as a string doSomething() can even be private refactoring problematic But: fewer LOC passing of arguments possible safe alternative possible (much longer though)

  6. "On a side note... Qt has been using strings for signal / slot connections for over a decade and in practice this has proven to not be a major hurdle. The reason for this is that connections are typically made during the init phase of objects and therefore always checked and fixed at an early stage." --QtJambi FAQ

  7. Other cool feaures Easy WebKit integration Native libraries - simple deployment as jar Deployment as Java WebStart app possible Easy internationalization Phonon integration - crossplatform multimedia playback Drag&drop Crossplatform system tray Style sheets

  8. The downside Sometimes not "the Java way" Overlapping functionality with standard Java classes QThread QFile ... Difficult debugging because of native libraries Documentation - C++ code snippets in examples Everything starts with Q Stability (in early versions)

  9. So is it worth it?

  10. Yes! (given enough time)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend