

FApplication creates a number of MainWindows-each MainWindow represents a single file which is a Fritzing sketch. FApplication runs a typical event loop lasting until the user quits Fritzing. This simply creates an instance of FApplication and executes it.

To get the full benefits of the debugging environments in XCode and Visual Studio, you have to build Qt from source.įritzing is currently built using the open source release of Qt, version 5.2.1.

But we have also built and run Fritzing on Mac using Xcode, on PC and Linux platforms using Eclipse, and on PC using Visual Studio (and earlier-on with some well-intentioned but only-partially-complete open-source Qt-specific IDEs). Qt is also IDE independent, though it comes with its own IDE QtCreator, which some of use have been quite happily working with. We also extensively make use of other software technologies available through Qt, including: SVG rendering, SQLLite, Stylesheets, and Webkit. This is the QGraphicsView framework and we make extensive use of it. Second, C++ seemed more stable: Qt Jambi-the Java binding-though part of Trolltech's product line-had only been out for about a year, and the Python binding was offered by a third party (Subsequent events have proved us right-Trolltech/Nokia has dropped support for Qt Jambi.) Third, the Qt framework adds enough support (for example, by automatically deleting child objects when a parent is deleted, or with the signals-and-slots message-passing mechanism) that it feels like working in a higher-level language.Īnother reason we chose Qt is that it offered us a set of classes for dealing with a large number of dynamic interactive 2D graphical objects.

First, we figured that C++ might buy us a little extra performance. We chose C++ over Java or Python bindings of Qt for three reasons. So far, we have hit no such walls using Qt, and with a few exceptions we have had very little trouble building more-or-less simultaneously for Linux, Mac, and PC platforms. We had built a previous version of Fritzing using the Eclipse GMF/GEF framework, and though that allowed us to quickly create our first versions of Fritzing (for Mac and PC only), we found that we hit a wall, and had an incredibly difficult time moving forward from that point. Fritzing is built entirely using Qt, a powerful and stable C++ GUI coding framework ( We looked at quite a number of other frameworks/languages, and overall Qt seemed like the most stable, full-featured, and cross-platform-enabled development environment available.
