Nous avons la possibilité avec Qt4 d’utiliser les “stylesheet” pour modifier l’apparence des styles dans Qt4.

Mais c’est loin d’être parfait.

Dans un des projets sur lequel je travaille, on a essayé d’utiliser le code:

QApplication a( argc, argv );
a.setStyleSheet(“QToolButton { qproperty-iconSize: 24px 24px; }”);

Le principe était de configurer la tailles des icons dans un QToolButton.

Principe simple mais conséquences énormes.

En fait ça fixe bien la taille, mais ça casse vraiment tout le style.

En gros nous avons plus de fond dans un Q3ProgressBar, les contours des frames sont inexistants etc.

J’ai reporté le bug à TT pour qu’ils puissent le fixer. Mais je pense que ça va prendre un petit peu de temps.

Donc en attendant je déconseille d’utiliser cela dans une application.

En gros les stylesheets sont pas mal mais à utiliser que dans de rares cas.

Hier j’ai trouvé que Q3TabDialog ne marchait pas.

Cette classe aussi est complètement buggué.

C’est très simple le “tab widget” n’est pas inséré dans le layout de la dialogue.

Ce qui fait que tout est compressé.

J’ai donc envoyé un bug report à TT on verra ce qu’ils diront et espérons que ce soit fixé rapidement.

J’ai trouvé un nouveau bug dans qmake aujourd’hui.

Lorsque l’on met utilise une variable dans qmake et que sa valeur contient un espace qmake ne met pas de quote autour donc ça provoque une erreur.

exemple:

LIBS += $(PROGRAMFILES)/lib/toto.lib

ça met dans le Makefile:

c:\Program Files\lib\toto.lib

En fait qmake met des guillemets que si il trouve dans la ligne un espace. Sinon il les enlève carrément.

Et comme le nom de la variable n’a pas d’espace ça met pas les guillemets.

J’ai envoyé le bug à TT on va voir combien de temps ils vont mettre pour fixer cela.

(Mise à jour le 1 septembre) TT m’a répondu et le bug est ouvert depuis longtemps.

http://trolltech.com/developer/task-tracker/index_html?method=entry&id=203831

Je parle rarement des bugs que je reporte à TT mais celui-ci est tellement une regression (et me pose un gros problème pour le travail) qu’il fallait que j’en parle.

En fait Q3TextBrowser permet d’afficher une page HTML.

TT a fait une très grosse régression car on ne peut plus charger les images dans qt4.4.x.

Pour moi dans un projet Q3TextBrowser est utilisé pour afficher la documentation donc imaginer une doc sans image :(

Donc en gros on est obligé de migrer sous Qt4.4.x pour divers fixes nécessaire pour le projet mais on peut pas utiliser la doc :(

Donc pour les gens qui ont besoin de cela n’utiliser qt4.4.x ou bien porté votre code à QTextBrowser (ce que moi je peux pas :( )

Je suis donc en attente d’un fixe de la part de TT

bug

Mise à jour 5 minutes après cette news:

Le support TT vient de m’envoyer un patch qui fixe ce problème, il leurs a fallu juste 5 heures entre la prise en charge du bug et la correction et ça c’est pas mal du tout :) ce sera dans qt4.4.2.

J’ai encore trouvé un changement entre Qt3 et Qt4 (qui peut être considéré comme un fixe de Qt3 en fait, mais si on le sait pas ça peut poser des pb durant le portage).

Soit le code:

QRect rect(0,0,0,0);

QRect rect_test(0,0,50,50);

bool ret =  rect_text.contains(rect);

ça retourne “true” dans qt3 mais “false” dans qt4 !

Forcément un rectangle nul peut pas être considéré comment étant dans le grand rectangle.

Donc oui un changement de fonctionnement dans qt4 (ceci est à retenir ça fait gagner quelques heures de debuggage).

Comme m’a dit le support de TT (quasi aucune chance que ça revienne au fonctionnement de Qt3).

Donc à retenir :)