2013-09-25 9 views
28

QList आरंभ करने का सही तरीका क्या है? मैं इस कोड कम करने के लिए करना चाहते हैं:क्यूलिस्ट को आरंभ करने का सही तरीका क्या है?

QSplitter splitter; 
QList<int> list; 
list.append(1); 
list.append(1); 
splitter.setSizes(list); 

लेकिन जब मैं std :: सूची से प्रारंभ उपयोग करें, यह काम किया जाना प्रतीत नहीं होता:

splitter.setSizes(QList<int>::fromStdList(std::list<int>(1, 1))); 

उत्तरार्द्ध मामले में, विभाजक विभाजित करने के लिए लगता है अनुपात 1: 0 में। साथ सी ++ 11

QList<int> list = QList<int>() << 1 << 1; 

या प्रारंभकर्ता सूची:

उत्तर

37

आप नीचे दिए गए कोड का उपयोग कर

QList<int> list({1, 1}); 

आप -std = C++ 0x या के साथ बाद सक्षम कर सकते हैं - जीसीसी के लिए std = C++ 11 विकल्प। इसके लिए आपको प्रासंगिक क्यूटी संस्करण की भी आवश्यकता होगी जहां क्यूलिस्ट कन्स्ट्रक्टर में प्रारंभकर्ता सूची समर्थन जोड़ा गया है।

+0

क्यूटी 5.2 का उपयोग करके यह 'त्रुटि फेंकता है: अपेक्षित अभिव्यक्ति QList list2 ({1, 1});' –

+0

@ ꜱᴀᴍᴏᴛʜ: आपको 'CONFIG + = C++ 11' की आवश्यकता है। – lpapp

+0

हालांकि यह स्वचालित रूप से सक्षम था। धन्यवाद ! –

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