Peeking at Qyoto

In my quest for the next UI toolkit I would use for Circ I recently decided to give Qyoto a shoot.

Qyoto is the successor of Qt# in the sense that it provides a .NET wrapper around the famous Qt library (and KDE too but I didn’t used that part). It differs from Qt# in the way to generate the bindings, indeed Qyoto use the future standard tools of KDE namely Smoke (a tool to create advanced wrappers for Qt-based libs) and Kalyptus (the corresponding binding generator) to generate the source files. Here is the screenshot of a sample provided in the distribution :

capture-colliding-mice.png

The advantages of Qyoto are those of Qt : it’s portable, have a decent native look&feel and good UI possibilities. The main disadvantage is that it’s GPL and thus force your software to be GPL which mean I don’t know if I will be able to keep the LGPL licence for every part of Circ, maybe just the plugin part.

Here are the installation steps I had to do in order to set up my Qyoto workspace on a Ubuntu machine (nota: here is the official tutorial that I adapted here) :

- Go there and download both the Smoke library and the pre-release version of Qyoto. Then decompress them in a folder.
- If you don’t have a Qt4 development version on your system (like me) install it via apt or by compiling the source via the traditional ./configure; make; sudo make install (that’s what I made but beware, it takes a lot of time)
- If your Qt4 installation isn’t in a traditional directory (for example /usr/local/Trolltech/Qt-4.3.0/ if you compiled from the source), add the bin subdirectory to your path with the command : export PATH=/usr/local/Trolltech/Qt-4.3.0/bin/:$PATH .
- Go in the folder where you extracted Smoke and build it by typing first cmake . (don’t forget the point « . ») and then make; sudo make install. Same thing for Qyoto.

At this point you should have a working environment. To verify this go in the examples/ directory of Qyoto and launch some sample with mono yoursample.monoexe. Again if you have installed Qt4 in a non standard way you have to add the lib/ subdirectories to your LD_LIBRARY_PATH environment variable like this : LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.3.0/lib:$LD_LIBRARY_PATH mono yoursample.monoexe.

So far so good, after my exam I think I will play with it and maybe make an other Circ frontend in Qt (with the main advantage that the UI would work more or less natively on Linux/KDE, MacOSX and Windows).

Post a Comment

Your email is never published nor shared. Required fields are marked *