2011-06-06 16 views
6

मैं नीचे दिए गए कोड का उपयोग करके एक सूचीविड्ज में दो आइटम जोड़ रहा हूं। अब मैं सूची सप्ताह में चयनित आइटम के रूप में "सप्ताहांत प्लस" सेट करना चाहता हूं, मैं यह कैसे कर सकता हूं?मैं चयनित आइटम को QListWidget में कैसे सेट करूं?

QStringList items;  
items << "All" << "Weekend Plus" ; 
ui->listWidgetTimeSet->addItems(items); 

उत्तर

13

प्रयास करें आप या तो इस तरह यह कर सकता है:

QStringList items; 
items << "All" << "Weekend Plus" ; 
listWidgetTimeSet->addItems(items); 
listWidgetTimeSet->setCurrentRow(1); 

लेकिन मतलब यह होगा कि कि आप जानते हैं कि "सप्ताहांत प्लस दूसरी पंक्ति पर है और आपको याद रखना होगा आर, अगर आप अन्य वस्तुओं में।

या आप ऐसा करते हैं:

QListWidgetItem* all_item = new QListWidgetItem("All"); 
QListWidgetItem* wp_item = new QListWidgetItem("Weekend Plus"); 
listWidgetTimeSet->addItem(all_item); 
listWidgetTimeSet->addItem(wp_item); 
listWidgetTimeSet->setCurrentItem(wp_item); 

आशा है कि मदद करता है।

संपादित करें:

अपनी टिप्पणी के अनुसार, मैं संपादित उपयोग करने का सुझाव आइटम विचारों के लिए चलाता है। यह आपको केवल उस चीज़ को टाइप करके सीधे आइटम जोड़ने की अनुमति देता है जिसे आप जोड़ना चाहते हैं और वापसी या कुंजी दर्ज करें। आपके द्वारा अभी जोड़ा गया आइटम चुना गया है और अब QListWidget में एक आइटम के रूप में दिखाई देता है।

listWidgetTimeSet->setEditTriggers(QAbstractItemView::DoubleClicked); // example 

अधिक जानकारी के लिए the docs देखें।

यदि आप कहीं और अपना नया आइटम दर्ज करना चाहते हैं, तो भी एक तरीका है। मान लीजिए कि आपके पास एक लाइन संपादित है और आप उस आइटम को उस नाम से जोड़ते हैं जिसे आपने वहां दर्ज किया था। अब आप ListWidget चाहते हैं जहां आइटम को उस नए आइटम में बदलने के लिए जोड़ा गया है। मान लीजिए कि नया आइटम अंतिम स्थिति पर है (क्योंकि इसे अंतिम बार जोड़ा गया है) आप वर्तमान पंक्ति को अंतिम पंक्ति में बदल सकते हैं। (ध्यान दें कि count() भी छिपा आइटम गिना जाता है आप किसी भी है, तो)

listWidgetTimeSet->setCurrentRow(listWidgetTimeSet->count() - 1); // size - 1 = last item 
+0

धन्यवाद यह है work.Now मैं एक पाठ बॉक्स मान लीजिए और जब मैं उस में पाठ दर्ज हैं और कहते हैं जोड़ने यह लिस्टबॉक्स में जुड़ जाता है अब मैं उस पाठ मैं चाहता हूँ सूची बॉक्स में जोड़ा गया है जिसे चुना जाना चाहिए। – user662285

+0

मेरी संपादित पोस्ट देखें। – Exa

6

शायद

ui->listWidgetTimeSet->item(1)->setSelected(true); 

भी

ui->listWidgetTimeSet->setCurrentRow(1); 
संबंधित मुद्दे