J'ai besoin d'animer la transparence du widget. Il me semble que je devrais utiliser QPropertyAnimation. Mais comment pourrais-je définir le widget translucide? Dois-je utiliser quelque chose like this?Comment animer la transparence d'un widget dans Qt4?
Répondre
Vous pouvez essayer d'utiliser la propriété windowOpacity
dans QWidget. Si cela ne fonctionne pas, vous devrez peut-être définir votre propre propriété et l'utiliser dans l'événement paint de votre widget.
Il y a deux sous-réponses à votre question, ce que j'ai joué avec au moins:
- Si vous souhaitez définir animer l'opacité d'une fenêtre de premier niveau QWidget, vous pouvez utiliser QPropertyAnimation de 0 à 1 sur la valeur "windowOpacity". Vous pourriez vouloir vérifier la syntaxe exacte puisque j'utilise PyQt.
- Si vous voulez animer l'opacité d'un bouton ou d'une étiquette de texte, cette propriété ne fonctionnera pas et vous devez utiliser QGraphicsWidgets. Ils héritent QGraphicsItem et ainsi, ils ont
opacity
. Malheureusement, cela signifie utiliser les widgets proxy QGrapgicsProxyWidget pour synchroniser les widgets normaux avec leurs homologues de widgets graphiques, car QGraphicsWidget n'hérite pas de QWidget. Pour en savoir plus, consultez le Animation Framework Examples, en particulier la machine d'état pour savoir comment utiliser les widgets proxy.
Pour windowOpacity
animations:
QPropertyAnimation animate = new QPropertyAnimation(this, "windowOpacity", this);
animate.setDuration(100); animate.setStartValue(1); animate.setEndValue(0);
animate.start();
Cela ne fonctionnera que sur les systèmes qui prennent en charge une sorte d'extension Composite.
J'espère que ça aide!
Merci! Semble, que je devrais essayer la deuxième façon, parce que je dois rendre mes widgets (boutons, texte, etc.) en toute transparence transparent sur un événement. –
- 1. Emplacement du widget Qt4 sur Windows
- 2. Widget d'édition de synthé modulaire Qt4
- 3. Echange de widget PySide Qt4 dans une hboxlayout
- 4. Essayer de créer un widget SDL dans QT4 en utilisant SDL_WINDOWID, mais impossible d'afficher le widget
- 5. qt: Comment animer la transparence d'un enfant QPushButton en utilisant QPropertyAnimation?
- 6. Comment utiliser la transparence alpha dans OpenGL?
- 7. souris sur la transparence dans Qt
- 8. Comment représenter la transparence binaire?
- 9. Comment animer dans Cocos2d?
- 10. Ruby + QT4; comment commencer
- 11. URL encoder dans Qt4
- 12. Comment lire la vidéo YUV en Qt4?
- 13. Comment diffuser un signal dans Qt4
- 14. La transparence des widgets dans PyGTK?
- 15. Comment désactiver la transparence du menu WPF?
- 16. Transparence dans WPF
- 17. Transparence dans TImage
- 18. La transparence dans les formulaires Windows C#
- 19. Aide à la transparence PNG dans ie6!
- 20. Définir la transparence dynamiquement dans Konsole
- 21. comment créer plusieurs sélections dans la zone d'édition de texte dans qt4?
- 22. wpf - comment prendre en charge la transparence bitmap dans l'imagebrush
- 23. Problèmes de transparence avec Tkinter
- 24. dois-je appeler event-> accept() sur resizeEvent() dans Qt4?
- 25. Comment animer la couleur d'arrière-plan UIButton
- 26. QT4, éléments d'affichage paginés
- 27. Comment animer des nuages?
- 28. Comment animer des vues?
- 29. Comment placer un widget dans un widget Canvas dans Tkinter?
- 30. Comment animer explicitement la backgroundColor d'une CALayer?
Qu'est-ce que vous voulez exactement? .. voulez-vous montrer l'animation sur votre widget? ou vous voulez rendre votre widget transparent – Naruto