2010-08-12 5 views
4

Comment créer avec Qt 4 une fenêtre qui reste ancrée sur le bureau en tant que widget? (par exemple, comme Yahoo Widgets ou Google Gadgets).Créer un widget de bureau (comme Yahoo Widgets ou Google Gadgets) avec Qt 4

Je me propose de donner les mêmes caractéristiques d'un widget à une fenêtre normale: (comment)

  1. Retirez les arêtes (facile à faire)
  2. La fenêtre ne doit pas bouger
  3. doit être affiché uniquement lorsque les autres fenêtres sont réduites (comment?)
+0

Je pensais que les widgets de bureau appartiennent à l'environnement de bureau (par ex. KDE), pas la boîte à outils de l'interface utilisateur qui est utilisée pour implémenter le bureau. http://en.wikipedia.org/wiki/Plasma_(KDE)#Supported_Widgets Ou? – Dummy00001

Répondre

6

Je pense que la définition de ces drapeaux fera ce que vous cherchez:

setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnBottomHint); 
  1. Retirez les bords --->Qt::FramelessWindowHint supprimera les bords
  2. La fenêtre ne doit pas bouger ---> (AFAIK) vous ne pouvez pas déplacer la fenêtre lorsque Qt::FramelessWindowHint est activé
  3. Doit être affiché uniquement lorsque les autres fenêtres sont réduites --->Qt::WindowStaysOnBottomHint conserve la fenêtre de l'application en dessous de toutes les autres fenêtres
+0

Cela ne fonctionne pas dans Qt 5.9 sous Windows. Malgré le réglage de 'Qt :: WindowStaysOnBottomHint', le widget est affiché au-dessus de toutes les autres fenêtres. –

+0

Quelles fenêtres (7/8/10) utilisez-vous? Je l'ai testé avec (peut-être) Win7 alors. – zeFree

0

Je ne pense pas que Qt fournit quelque chose de spécifique pour cela. Vous devrez créer et gérer votre propre fenêtre, mais vous pouvez utiliser QDesktopWidget pour vous aider.

+0

Le lien est rompu. – danidee

+0

@danidee Merci, corrigé. – Troubadour