TamsS60 – the Symbian Blog

The Symbian news and opinion source

March 11th, 2010

Qt releases Creator 2.0 and Framework 4.7 alphas

Qt seems to be pretty active recently – after announcing plans for a new and performance-boosting text renderer, they have now released two technical previews:

Qt Creator 2.0
This is a significant update, which will be especially popular among all those who had to reinstall Carbide recently:

So what makes this release 2.0 and not 1.4? Do we number our releases after the years and have a strange myopic year 0? Nah not really.

We are adding two major features.

* Qt Quick Integration
* Symbian and Maemo development

Qt 4.7
Qt 4.7 is now available as TP:

The 4.7.0 TP is the first step of the 4.7 release cycle, and our goal is to showcase our newest technology (such as Qt Quick) and solicit feedback so that we may improve it before locking down our APIs down for the beta. Although the quality isn’t at production level quite yet, it should be good enough for demonstrating the new features we have in mind for 4.7 final. The final 4.7.0 release is scheduled for around mid 2010, pending feedback on the new features/designs, and the overall product quality.

Hit the links above for further info…

February 16th, 2010

Qt Smart Installer – beta available

How’s this for stupid timing – while the MWC is in full fury, Nokia silently releases its Smart Installer for Qt applications. This means that everybody ignores it – or, rather, everybody except for yours truly (who is desperately waiting for it).

The official blog announcement reads as follows:

Using the Nokia Smart Installer

This is how you make use of it in short:

1. Download and install Qt for Symbian 4.6.2
2. Download the Nokia Smart Installer v 0.9 (beta)
3. Unzip it on top of your installed Qt for Symbian folder
4. Code your cool mobile application
5. Run qmake && make release-gcce to create yourapp.exe
6. Run make sis to create yourapp.sis
7. Run make installer_sis to create yourapp_installer.sis
8. You have an application ready for deployment!

Even though it is still in beta (and thus not allowed on Ovi), this is a great day for all Symbian heads. Stay tuned to find out when its done…

February 1st, 2010

Qt for Symbian: installer coming soon

So far, applications developed in Qt for Symbian could not really be sold: developers lacked a way to integrate a Qt runtime into their sis files. Rumors of an “integrated Qt installer” which downloads needed files on the go have made the rounds for some time, without a specific ETA being given.

Forum Nokia’s Luciano Tomulta now stated the following:

It will be available with the next release of Qt, 4.6.2 (unless some accident happens )

– Lucian

Given that the release of 4.6.2 is said to be but a few weeks away, it looks like the sales of Qt apps in the Ovi Store can begin soonish…

January 22nd, 2010

Qt message boxes – an error in the Qt documentation

Just in case anyone of you wants to implement a message box in QT – the documentation provides an erroneous sample code. Instead, please use the code below:

QMessageBox msgBox;
QPushButton *okButton = msgBox.addButton("OK", QMessageBox::ActionRole);
QPushButton *neverAgainButton = msgBox.addButton("Don't show again",QMessageBox::RejectRole);
msgBox.setText("The first part of your wall is now done! From now on, balls can hit it!");
msgBox.exec();

if (msgBox.clickedButton() == (QAbstractButton*)okButton)
{
}
else if (msgBox.clickedButton() == (QAbstractButton*)neverAgainButton)
{
}

P.S. Its output looks as following on an XM5800:
Qms000120 Qt message boxes   an error in the Qt documentation

January 10th, 2010

QPainter::begin: Paint device returned engine == 0, type: 1

Given that most future development by Tamoggemon Software will be done in Qt, it IMHO is only right and due to get a category on Qt here on TamsS60. And, as usual, let’s start out with a rant.

Let’s assume that you have initialized a nice QPainter, try to draw and nothing happens. You then check out the error log, and see an error similar to the one below:

QPainter::begin: Paint device returned engine == 0, type: 1

In this case, the situation is simple. You are most likely drawing on a QWidget outside of its PaintEvent. Like it or not, but there is no way to draw on a QWidget outside of its paintEvent (unless some special flags are set, which limit compatibility, blah blah)…