2011-10-14 16 views
6

पर प्रतिपादन करता है मेरे पास एक क्यूएमएल फ़ाइल है जिसमें QML आइटम का एक लेआउट शामिल है और अब मैं उन वस्तुओं में से एक QGLWidget होना चाहता हूं। यानी मैं एक विशिष्ट QML आइटम को प्रस्तुत करना चाहता हूं।ओपनजीएल एक क्यूएमएल आइटम

क्या किसी को यह कैसे करना है इसके बारे में पता है?

उत्तर

3

मुझे लगता है कि यह QML+ में लागू एक नया कस्टम घटक QML प्रदान करने का सबसे आसान तरीका है। मुझे कुछ भी तैयार नहीं मिला।

आप QDeclarativeItem को उपclass कर सकते हैं और QPainter::beginNative() फ़ंक्शन का उपयोग करने के बाद पेंट फ़ंक्शन में अपना ओपनजीएल कोड कार्यान्वित कर सकते हैं। उसके बाद आप अपने नए कस्टम आइटम को QML this way पर "निर्यात" कर सकते हैं। यह काफी सरल है और काम करना चाहिए, लेकिन आप सेटअप करना होगा आप के व्यूपोर्ट एक QGLWidget, कुछ इस तरह होना करने के लिए QDeclarativeView:

QDeclarativeView view; 
// This is needed because OpenGL viewport doesn't support partial updates. 
view.setViewportUpdateMode(QGraphicsView::FullViewportUpdateMode); 
view.setViewport(new QGLWidget); 

या आप पूरी के लिए ओपन ग्राफिक्स प्रणाली का उपयोग करना होगा आवेदन। एक और तरीका QML/3D का उपयोग कर रहा है।

This thread आपको कुछ अन्य जानकारी देगा।

+0

क्यूएमएल/3 डी दस्तावेज़ों का लिंक बदल गया, मैंने इसे अपडेट किया है। –