Est-il possible de couper un QGLWidget? Je veux dire que je voudrais le couper afin que j'accède au gui ci-dessous. Cela semble étrange, mais ce serait beaucoup de travail pour moi de diviser mon QGLWidget en deux. J'espère que tu comprends ce que je veux dire. MerciCouper QGLWidget?
Répondre
Je ne comprends pas ce que vous entendez par "couper" et GUI ci-dessous. En Qt avec des mécanismes de mise en page correctement utilisés, un widget consomme la zone qu'il couvre et il n'y a pas de widgets en dessous.
Voulez-vous afficher plusieurs vues dans un seul QGLWidget? Ceci est facilement réalisé en utilisant correctement glViewport + glScissor.
EDIT en raison de commentaires
Il existe deux types de fenêtres:
- niveau (ceux que vous pouvez déplacer librement sur l'écran)
- fenêtres enfants (sous-fenêtres comme des widgets ou des volets dans une fenêtre de niveau supérieur)
fenêtres enfant nouveau sont disponibles en deux caractéristiques:
- enfant logique
- véritable enfant
Une fenêtre enfant logique consiste simplement à sa position, la dimension et de la couche et sont gérés par la boîte à outils. De la vue du système d'exploitation, il n'y a qu'une seule fenêtre de niveau supérieur. Le toolkit est celui qui gère son état interne pour donner l'impression de fenêtres indépendantes dans la fenêtre de premier niveau.
Une véritable fenêtre enfant est gérée par le système d'exploitation/graphique. De telles fenêtres enfant réelles peuvent partager leur contexte graphique avec leur parent et leur frère. Cependant, OpenGL ne fonctionne bien que si la fenêtre dans laquelle un contexte OpenGL est créé a son propre contexte graphique. Ainsi, toute fenêtre enfant OpenGL aura inévitablement son propre contexte graphique et son propre objet fenêtre de système graphique. La plupart des systèmes graphiques ne supportent pas correctement l'application de formes sur les fenêtres enfants (seulement les fenêtres de niveau supérieur, et cela est également en conflit avec OpenGL). Ainsi, tout cela est pratiquement impossible, ni souhaitable d'essayer de "superposer" une fenêtre OpenGL au-dessus d'un frère ou d'une soeur. Cela peut fonctionner dans certaines circonstances, mais la plupart du temps ce n'est pas le cas.
Voilà les mauvaises nouvelles.
Les bonnes nouvelles sont que vous avez simplement regardé dans une direction fausse. Je dirige votre vue vers QGraphicsView. QGraphicsView prend en charge OpenGL en tant que backend, vous pouvez également écrire votre propre code de rendu OpenGL à exécuter dans un QGraphicsView. Mais QGraphicsView peut également être utilisé pour le rendu de widgets, en utilisant également OpenGL. Donc tout ce que vous avez à faire est de mettre à la fois votre code de rendu OpenGL et votre widget dans une scène commune QGraphicsView et sont terminés. Et voici un tutoriel http://www.crossplatform.ru/node/612 le résultat du tutoriel ressemble à ceci:
Il est en quelque sorte difficile à expliquer.Mais je veux poser un QGLWidget sur un QWidget.On mac il n'est pas possible de le faire dans l'autre sens.Maintenant j'ai deux vieworts dans mon QGLWidget.La partie où le Gui devrait être affiché, devrait être coupé. Est-ce possible, parce que je ne sais pas comment mettre mes deux viewports dans deux widgets. Mes viewports interagissent et en tant que débutant dans Qt je ne saurais pas comment y parvenir. Donc ce serait malin si je pouvais couper la partie. J'ai décrit mon problème plus tôt ici: [link] (http://stackoverflow.com/questions/7092106/defining-buttons-in-opengl-window) Merci – buddy
@buddy: Le genre de chose que vous essayez de faire, ceux qui tenté soit il a fini dans un asile ou est allé postal ou les deux. Voir mon edit pour une explication. – datenwolf
Hm, ok. Je pense que vous vouliez dire mental non postal? Ou c'est une nouvelle expression. Merci – buddy
- 1. Problème avec QGLWidget
- 2. QGLWidget + QGraphicsScene + QGraphicsView problème
- 3. Attacher un QLabel devant QGLWidget
- 4. QGlWidget plein écran non menu
- 5. QGLWidget :: boîte de délimitation renderText
- 6. QGLWidget n'affiche pas l'objet comme indiqué
- 7. Ajout d'un QGLWidget à une QMainWindow
- 8. Subclassing QGLWidget utilisant erreur Qt Creator
- 9. Qt & OpenGL - QGLWidget & QPainter: mémoire tampon profondeur
- 10. QWidget semi-transparent sur QGLWidget: résultats étranges
- 11. Problème avec QMainWindow + QGraphicsView et plusieurs QGLWidget
- 12. Comment zoomer et faire défiler dans QGLWidget
- 13. Problème avec le menu contextuel sur QGLWidget
- 14. QGLWidget transparent au-dessus de QGraphicsView
- 15. QGLWidget dans QScrollArea dit "invalable drawable"
- 16. QGLWidget - comment structurer un programme avec overpainting
- 17. Comment mettre en plein écran un QGLWidget?
- 18. Redessiner QGLWidget avec des graphiques 3D + 2D
- 19. Texte 3D sur QGLWidget dans Qt 4.6.3
- 20. Utilisation de QGLWidget :: renderText avec crash QGLBuffer
- 21. php pas couper couper les espaces
- 22. Comment couper/couper une image en morceaux
- 23. comment créer un Quad qui est plié à mi-point en utilisant QGLWidget ou QGLBuilder?
- 24. Comment couper plusieurs ensembles?
- 25. Comment couper du texte?
- 26. Couper un fichier audio
- 27. Comment couper AVCaptureDevice?
- 28. comment couper en awk
- 29. comment couper un MovieClip?
- 30. jQuery LoadPage - animation couper
Vous ne savez pas ce que vous essayez de faire ici? Quel effet essayez-vous d'atteindre? Peut-être que ce que vous voulez est exprimé différemment en Qt.Avez-vous des exemples de la façon dont votre application devrait ressembler? – blueskin