Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1221 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Qt Jambi] Problèmes de scintillement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Qt Jambi] Problèmes de scintillement

n°1602696
monsieur t​omate
Posté le 23-08-2007 à 09:21:27  profilanswer
 

Bonjour à tous,
 
Je suis en train de développer une application Java utilisant Qt Jambi (Qt 4.3.0). Cette application doit tourner directement sous X11, donc sans utiliser KDE ni GNOME : en fait, il s'agit de fabriquer un mini desktop en Java. J'ai donc une fenêtre avec un fond d'écran et des QLabel (les icônes sur le bureau). Ces derniers chargent des QPixmap contenant des PNG transparents (grâce à la méthode setPixmap directement invoquée dans le constructeur des Widgets). Jusque-là, tout va bien : l'affichage se fait de manière correcte sous X11 et même sous Windows.
 
Cependant, j'ai voulu coder une fonction de Drag & Drop pour pouvoir déplacer les icônes en maintenant le bouton de la souris enfoncé, et là, malheur, il y a des scintillements quand on déplace les icônes sur la fenêtre (sous X11) ! Du coup, j'ai testé mon application sous Windows pour voir si le problème persistait et je n'ai pas ce bug : le déplacement se fait correctement. Je n'utilise jamais le moindre PaintEvent : les déplacements se font avec des QWidget.move() (dans la méthode mouseMoveEvent) et je mets l'icône en avant-plan avec la méthode QWidget.raise() au moment où l'utilisateur clique sur l'icône (donc dans la méthode mousePressEvent) pour qu'elle soit au-dessus des autres. On ne peut pas simplifier davantage l'affichage : il n'y aucun repaint ou quoique ce soit qui pourrait déclencher ce problème, je me suis appuyé à fond sur les QLabel et sur le système interne de Qt.
 
En y regardant de plus près, j'ai remarqué que ce n'est pas l'icône qui scintille, mais ce qu'il y a autour (donc le wallpaper). Du coup, j'ai deux pistes pour résoudre mon problème, mais je ne sais pas comment les creuser :
1. Ma méthode pour afficher le wallpaper n'est pas optimale. Le fond d'écran est un QLabel dans lequel je charge l'image via la méthode setPixMap. J'ai essayé les feuilles de style avec background-image mais j'ai exactement le même problème. Y a-t-il une autre technique pour mettre un fond d'écran à une fenêtre ?
2. Y aurait-il un moyen pour forcer un Double-Buffering via Qt sous X11 ? J'ai entendu dire que le Double-Buffering était activé par défaut dans Qt 4 mais s'il était généralisé sur toute la fenêtre, je n'aurais pas été confronté à ce problème : cependant comme ça marche sous Windows, je me suis dit que le Double-Buffering était éventuellement désactivé par défaut sous X11 et qu'il y avait peut-être un moyen pour l'activer explicitement. Cependant, je n'ai rien trouvé de tel dans la doc, donc quelqu'un connaîtrait-il la méthode miracle ?
3. Bien sûr, toute autre idée est la bienvenue...
 
Je vous remercie d'avance pour votre aide, et j'espère que j'ai été suffisamment clair dans mon post !
 
Jean-Marc.

mood
Publicité
Posté le 23-08-2007 à 09:21:27  profilanswer
 

n°1604171
monsieur t​omate
Posté le 27-08-2007 à 04:11:53  profilanswer
 

Vous n'avez aucune idée ? :cry:  J'aimerais savoir s'il y a un autre moyen pour charger un fond d'écran dans une fenêtre et/ou s'il y aurait un moyen pour forcer l'utilisation du Double Buffering sous X11.
 
Merci...
Jean-Marc.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Qt Jambi] Problèmes de scintillement

 

Sujets relatifs
[HTML] Création de mon site: les problèmes.incompatibilitées de versions, problèmes en pagaille
Problèmes avec plusieures requêtes...system, popen et leurs problèmes :|
[C] Problèmes avec les chaines de caractèresAES / RSA : Bad Data error et autres problemes (de stream?)
[QST] Problèmes de linksProblèmes $_COOKIE et $_POST
Menu en html, css et javascript, nombreux problèmesDeux colonnes pour contenu problèmes IE 6
Plus de sujets relatifs à : [Qt Jambi] Problèmes de scintillement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR