Friday, June 5, 2009

back to Qt!

After a looong intermission (all hail Lua!), I'm again writing some code in Qt.

Of course, I'm using Qt 4.5 and QtCreator, which seems all nice and shiny. It seems the perfect excuse to start using Mercurial, since it's the system en vogue right now. Even GoogleCode has added support for it. Obviously Monotone won't make it big, so better to get into the bandwagon.

But...! QtCreator supports several VCS; but not Mercurial! Bummer. Well, it means I'll have to use Git, since I'm not using svn!

Sure, there's a QtDesigner view in QtCreator, and sure, it once again changes the philosophy of how to turn designs into programs. This time it's roughly what I like: it writes a '.ui' file and (optinally) the class(es) that load it. Clicking the 'goto slot' adds the corresponding slot-handling code to the apropriate class. So far, so good. There's no automated way to remove that code; but makes sense, at least in the name of safety.

But after manually removing the added code I got a lot of compiler errors! Most of them looked like some redefinition deep into the Qt codebase. Only after setting up version control (yeah, Git) I realised that I had deleted one curly bracket too many in the class declaration. Dang, I didn't knew my C++ was so rusty not to catch that at firsts sight. Of course, that also says a lot about compiler errors.

Wasn't that the advantage of static languages? to get errors early? But what use are unreadable errors?