News emerged recently that Qt Software (formerly Trolltech) were working on their first IDE
for Qt, code named Project Greenhouse. Today saw the release of the
first technical preview under the name Qt Creator. The initial
release is binary only, and under the terms of the Qt preview license,
but the final release will be released with source code under a GPL
compatible license. The initial release is available for Linux, Mac OS
X and MS Windows. Read on for a users review.
The Greenhouse project began as a research project within Trolltech.
We are told that the design is entirely plugin based, suggesting that
ultimately we will have the ability to add support for new languages,
debuggers etc. The documentation suggests a plugin for the CMake build
system used by KDE is in the works. At the moment things are a little
too bare for the benefits of this approach to be readily apparent, but
it is a sensible approach to take when developing an IDE.
Unusually for the dot, I have decided to look at the Windows install of
Qt Creator. The reason I have chosen to do this is that I have tried to
get applications working with the open source Qt version for Windows
before with little success, it has always been more trouble than I have
time for. Hopefully the combined Qt+IDE+Mingw package will make this
a pretty painless experience, which will bode well for future work on
KDE on the windows platform.
The initial download for Windows is pretty huge, over 200MB, however
since this includes the compiler and run time environment as well as
Qt and the IDE itself that is something I can live with. The installer
is a standard windows-style setup.exe and is pretty much idiot proof
(if rather slow).
The inital screen you see when running the IDE is very bare in
comparison to other IDEs - a basic page with a button to get to the
getting started guide. There is a sidebar on the left with some pretty
self-explanatory buttons and a menu bar but unusually there is no
toolbar at all, let alone the common sight of an overwhelming
collections of icons.
The getting started guide itself is pretty weak right now, and is
definitely alpha quality. The switch from a very clean initial view
to the fairly ropey tutorial with a massive index of the entire Qt
documentation on the left is jarring. Rather than cheating by reading
the docs, let's just dive right in and write something, how hard can
I will begin with the obvious - create a new project. We have a number
of choices of project type, but let's go with a GUI application. I
note here that the dialog starts as an OK/Cancel style dialog then
seems to change to a wizard, this could do with some work. I will call
the project DotDemo. I have chosen to include the Webkit module as well
as the basic Qt modules, as these will be required for what I want
this project to do. The final screen of the wizard is for project
management, but is totally disabled and the file names are off the
edge of the dialog - fair enough, this is alpha code.
Now we have got a basic project, let's see if the IDE provided shell will
build on its own. Clicking the big 'Build&Run' button on the left
brings up the build settings rather than actually building or
running, I discovered that you need to use the 'Play' arrow button
there instead. The result is a small progress bar in the sidebar
saying building. The resulting app is pretty unimpressive, but the
generated code has built and run successfully - a good start.
Double clicking the mainwindow.ui file in the file view brings up the
familiar sight of Designer embedded in the IDE. Since my usual demo
is a browser, I have dragged a QWebView into the view and added a
layout. This works as expected, and a click of the 'Play' button later
I have a working minimal browser application. Not bad since I haven't
written any C++ yet!
At the moment, Qt Creator seems to have quite a few rough edges in the
UI department and more missing features than I can count, but this is
looking like it is something worth watching. This is the first time
I have got the open source version of Qt on Windows to do anything
useful despite having previously got working code from Visual C++,
and having lots of experience developing with Qt on Linux. Qt Creator
certainly looks like it could lower the bar for Qt development on
Windows, and if the CMake suppport mentioned in the documentation is
added then this could be a useful tool for KDE developers.