2013-12-08 4 views
5

में संपत्ति के रूप में जटिल सूचक डेटा डाल सकते हैं मैं नीचे की तरह क्यूटी में एक विजेट को लागू किया है:मैं कैसे क्यूटी प्लगइन xml फ़ाइल

class MyWidget : public QWidget 
{ 
    Q_OBJECT 
    Q_PROPERTY(bool BooVal READ getBoolVal WRITE setBoolVal) 
    Q_PROPERTY(MyPointer* PointerData READ getPointer WRITE setPointer); 

    ... 
} 

मैं QtDesinger में इसका इस्तेमाल करना चाहते हैं।

class MyPlugin : public QObject, public QDesignerCustomWidgetInterface 
{ 

    ... 
} 

QWidget *MyPlugin::createWidget(QWidget *parent) 
{  
    return new MyWidget(parent); 
} 

लेकिन QtDesigner संपत्ति विंडो में मैं Q_PROPERTY (MyPointer * PointerData ...) की तरह जटिल डेटा सेट नहीं कर सकता: इसलिए मैं नीचे की तरह इंटरफ़ेस QDesignerCustomWidgetInterface कार्यान्वित किया। QTreeWidget जैसे कुछ क्यूटी विजेट कस्टम इंटरफ़ेस के माध्यम से QtDesigner में जटिल सूचक डेटा सेट कर सकते हैं। जैसे QTreeWidget में जब मैं माता पिता के नोड सेट और यह बच्चों के लिए, sth की तरह नीचे .ui फ़ाइल में प्रकट होता है

<widget class="QTreeWidget" name="treeWidget"> 
    <item> 
    <property name="text"> 
     <string>1</string> 
    </property> 
    <item> 
     <property name="text"> 
      <string>1-1</string> 
     </property> 
    </item> 
    </item> 
</widget> 

वास्तव में मैं QTreeWidget जैसे प्लग इन और QtDesinger के माध्यम से QTreeWidgetItem * की तरह जटिल डेटा सेट बनाना चाहते हैं।

उत्तर

1

क्या आप यूआई एक्सएमएल फॉर्म में QTreeWidget का उप-वर्ग सहेजना चाहते हैं? आप उपयोग कर सकते हैं शून्य QAbstractFormBuilder वर्ग या QFormBuilder वर्ग के

void QAbstractFormBuilder::save(QIODevice * device, QWidget * widget) 

कार्य करते हैं।

संबंधित मुद्दे