मैं QML extension प्लगइन लिख रहा हूं और मैं जिस तत्व को अभी लागू कर चुका हूं उसके आकार तक पहुंचने का एक तरीका ढूंढ रहा हूं।एंकर द्वारा परिभाषित QML तत्व आकार पढ़ें। फिल: पैरेंट
अभी नए तत्व (CustomElement
नाम) किसी भी आकार उपयोगकर्ता यह परिभाषित करते हुए करना चाहता है के साथ बनाया जा सकता है मूल्यों है चौड़ाई और ऊंचाई, तो एक QML पर फ़ाइल उपयोगकर्ता कर सकते हैं:
CustomElement
{
id: my_elem
width: 800
height: 600
}
लेकिन मैं आकार में जानकारी प्राप्त करने में सक्षम होना चाहते हैं जब उपयोगकर्ता एक anchor
के माध्यम से आकार को कॉन्फ़िगर करता है, इस तरह:
Rectangle
{
width: 800
height: 600
CustomElement
{
id: my_elem
anchors.fill: parent
}
}
मुझे नहीं पता कि anchors
जानकारी कैसे प्राप्त करें।
class CustomElement: public QDeclarativeItem
{
Q_OBJECT
//Q_PROPERTY() stuff
public:
// ...
};
प्लगइन का निर्माता में, मैं गलत पर QGraphicsItem::ItemHasNoContents
सेट:
प्लगइन वर्ग के रूप में परिभाषित किया गया है
CustomElement::CustomElement(QDeclarativeItem* parent)
: QDeclarativeItem(parent)
{
qDebug() << "CustomElement::CustomElement parent is:" << parent;
setFlag(QGraphicsItem::ItemHasNoContents, false);
}
डिबग जोड़ने के बाद, मैंने देखा है कि parent
0
है , जो बताता है कि मैं boundingRect()
और अन्य तरीकों के साथ उपयोगी जानकारी क्यों प्राप्त नहीं कर पा रहा हूं। जाहिर है, समस्या यह है कि मेरी प्लगइन में कोई अभिभावक नहीं है। मैं इस मुद्दे को कैसे हल करूं?
तुम सिर्फ एक तीन दिन खोज को समाप्त कर दिया !! जो मैं दस गुना – Martin
हम्म ऊपर उठा सकता हूं यह अभी भी मेरे लिए काम नहीं करता है। Q_D और Q_Q क्या हैं। अगर मैं अपने वर्ग के नाम पर Q_D को कॉल करता हूं तो मुझे एक कॉमिलर त्रुटि मिलती है। क्या आप एक पूरा उदाहरण पोस्ट कर सकते हैं? – Martin
http://www.qtcentre.org/threads/20953-Q_D-and-Q_Q – karlphillip