J'essaie d'écrire un programme de peinture (peinture où jamais une pression/attente de la souris est détectée), mais j'ai de la difficulté à utiliser le Qt QPainter. J'ai lu la documentation sur leur site web et je suis encore un peu perdu. Un lien vers un tutoriel qui n'est pas sur leur site Web serait bien ou peut-être m'expliquer comment je peux accomplir cela dans Qt. La seule chose que j'ai réussi à faire est de peindre des points sur un widget.Besoin d'un peu d'aide avec les classes de peinture Qt
Répondre
Vérifiez l'exemple Scribble qui vient avec Qt, il fait exactement ce que vous voulez.
Nous réimplémentez l'événement de souris gestionnaires pour mettre en œuvre le dessin, le gestionnaire d'événements de peinture de mettre à jour l'application et le gestionnaire événement Resize pour optimiser l'apparence de l'application. En outre, nous réimplément le gestionnaire d'événements de fermeture pour intercepter les événements de fermeture avant de terminer l'application.
L'exemple montre également comment utiliser QPainter pour dessiner une image en temps réel , ainsi que pour repeindre les widgets.
Utilisez QtAssistant et accédez à l'entrée sur QPainter. De là, vous verrez des liens vers des exemples de programmes utilisant diverses fonctions de QPainter, comme celui-ci: http://doc.trolltech.com/4.5/painting-basicdrawing.html
QtAssistant devrait être votre ressource numéro un. C'est assez complet. Ensuite, si cela ne m'aide pas, je recommande les forums au QtCentre. Ce sont des gars bien informés.
Je ne peux que deviner quel est votre problème, mais je suppose que vous rencontrez le vieux problème du fait que paintEvent est utilisé pour mettre à jour la page. La façon d'implémenter un programme de peinture serait de créer d'abord un QPixmap ou QImage comme tampon de dessin. Ensuite, peignez-le dans votre souris, appuyez sur/déplacer/libérer les méthodes. Lorsque vous avez mis à jour le tampon de dessin, tous mis à jour (et être un bon garçon et indiquer la zone à mettre à jour). Cela déclenchera un appel à votre méthode paintEvent, où vous allez simplement masquer le rectangle demandé (QPaintEvent :: rect()) à l'écran.
- 1. Peinture évolutive d'une application Qt
- 2. Besoin d'aide avec un peu de SQL
- 3. Comment obtenir l'événement de peinture pour les boutons QT
- 4. faire de la peinture en pyqt ou qt
- 5. besoin d'un peu mod_rewrite aide
- 6. Besoin de validateur html avec peu ou pas de dépendances
- 7. J'ai besoin de comprendre les classes PHP
- 8. Qt Stylesheets avec des classes dérivées
- 9. Besoin d'un peu d'aide avec l'alignement du texte dans wordpress
- 10. jQuery - Tabs - Besoin d'un peu d'aide/direction
- 11. Besoin d'un exemple de signature sur Windows-Mobile (peinture)
- 12. Besoin d'un peu t-sql clarification
- 13. un peu d'aide avec les fonctions d'agrégat
- 14. Invalidation/Problème de peinture avec Control (WinForm)
- 15. J'ai besoin de bibliothèques qt 32 bits
- 16. Peinture personnalisée QMainWindow barre de titre
- 17. Quelles classes Qt utilisent directement le disque?
- 18. Qt: classes Qt par rapport à la norme C++
- 19. Peu de requêtes dans les diagrammes UML
- 20. Peinture personnalisée de JPanel
- 21. XNA étrange peinture 3D lors de la peinture texte
- 22. Besoin d'un peu d'aide pour traduire du code SQL
- 23. Problème Jython avec les chemins de classes
- 24. besoin d'aide avec des classes pour l'interface utilisateur multilingue
- 25. Peinture transparente sur UIView
- 26. besoin d'un peu d'aide sur cette expression régulière
- 27. Besoin d'un dictionnaire .NET <chaîne, objet> avec un peu plus de fonctionnalités
- 28. C# WinForms - Questions de méthode de peinture
- 29. ont besoin d'un peu d'aide et une validation w3c forme
- 30. Comment faire un délégué d'objet de peinture QCombobox pour son objet actuel? (Qt 4)