को क्यूटी के Q_ENUMS उजागर मैं यहाँ स्पष्ट कुछ कमी हो सकती है, लेकिन जब, QML करने के लिए एक Q_ENUM बेनकाब करने के लिए कोशिश कर रहा है यहां तक कि सबसे सरल मामले में, के रूप में क्यूटी डॉक्स (http://doc.qt.nokia.com/4.7-snapshot/qtbinding.html#using-enumerations-of-a-custom-type)QML
में दिखाया गया है काम करने के लिए प्रतीत नहीं होतामैं एक साधारण परीक्षण का मामला बना लिया है, मेरी सी ++ वर्ग लगता है:
class MyClass : public QDeclarativeItem {
Q_OBJECT
Q_ENUMS(testType)
public:
MyClass() : t(FirstValue) { }
enum testType { InvalidValue, FirstValue, SecondValue } ;
testType testVal() const { return t; }
Q_PROPERTY(testType testVal READ testVal NOTIFY testValChanged)
private:
testType t;
signals:
void testValChanged();
};
मैं तो रजिस्टर & QDeclartiveContext में इस वर्ग का एक उदाहरण इंजेक्षन।
जब मैं testVal प्रॉपर्टी को आज़माता हूं और एक्सेस करता हूं, तो यह एक स्ट्रिंग प्रस्तुति के बजाय पूर्णांक (इस मामले में 1) देता है। इसके अलावा, उदाहरण के लिए, 'Avar' के रूप में इंजेक्शन अगर मैं कोशिश करते हैं और पहुँच 'aVar.FirstValue', परिणाम 'अनिर्धारित' है
तो इसका मतलब यह है कि मैं की तरह परीक्षण नहीं कर सकता साथ: 'if aVar.testVal == FirstValue'
(के लिए ReferenceError अयोग्य FirstValue)
या इस तरह: 'if aVar.testVal == aVar.FirstValue'
(aVar.FirstValue
अपरिभाषित है)
कोई भी इस के माध्यम से पहले किया गया? यह हालांकि, वस्तु है कि उदाहरण में QML से instantiated है, क्यूटी डॉक्स में प्रदान की जाती उदाहरण के साथ संघर्ष करने के लिए लगता है, इसलिए इस कारण ..
आह, गोचा, धन्यवाद। – aidanok