मैं QTableWidget
संपादन योग्य में एक कॉलम रखना चाहता हूं।
मंचों में मैंने कुछ flags
के बारे में बहुत कुछ पढ़ा है लेकिन इसे लागू करने में सक्षम नहीं हो सका। मदों की तरह निम्नलिखित QTableWidget मेंQTableWidget में कॉलम कैसे बनाएं केवल पढ़ने के लिए?
उत्तर
सम्मिलित:
QTableWidgetItem *item = new QTableWidgetItem();
item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);
वर्क्स ठीक!
संपादित करें:
QTableWidgetItem *item = new QTableWidgetItem();
item->setFlags(item->flags()^Qt::ItemIsEditable);
यह एक बेहतर समाधान है। @Priomsrb के लिए धन्यवाद।
एक्सओआर का उपयोग करने का नतीजा वर्तमान स्थिति पर निर्भर करता है। मैं
item->setFlags(item->flags() & ~Qt::ItemIsEditable);
का उपयोग करने का सुझाव देता हूं ताकि यह सुनिश्चित किया जा सके कि वर्तमान सेटिंग के बावजूद संपादन बंद हो गया है।
मैंने आपके इस समाधान की कोशिश की और यह काम नहीं किया: संकलक ने '~' के बारे में शिकायत की। – Momergil
पंक्तियों या स्तंभों में @ नरेक कोड को लागू करने के लिए, बस लूप के लिए एक सरल उपयोग करें और पंक्तियों/कॉलम के लिए झंडे को शामिल करने के लिए एक शर्त डालें जिसमें आप संपादन योग्य नहीं होना चाहते हैं।
निम्नलिखित कोड एक QTableWidget में एक csv फ़ाइल में लिखा है:
if(!rowOfData.isEmpty()){
for (int x = 0; x < rowOfData.size(); x++)
{
rowData = rowOfData.at(x).split(",");
if(ui->table_Data->rowCount() <= x) ui->table_Data->insertRow(x);
for (int y = 0; y < rowData.size(); y++)
{
QTableWidgetItem *item = new QTableWidgetItem(rowData[y],QTableWidgetItem::Type);
if(y < 3) item->setFlags(item->flags()^Qt::ItemIsEditable); // Only disables the first three columns for editing, but allows the rest of the columns to be edited
ui->table_Data->setItem(x,y,item);
ui->table_Data->repaint();
}
}
}
मैं एक बेहतर सुझाव के लिए आया था, बस एक नई स्लॉट के साथ cellDoubleClicked संकेत के ऊपर लिख। यह है, यदि आप चाहते हैं कि कोई भी कक्ष संशोधित नहीं किया जाए
ऐसा करने की कोई ज़रूरत नहीं है, यही कारण है कि हमारे पास आइटम झंडे हैं। उसकी समस्या को ठीक करने के लिए सिर्फ एक पंक्ति। – reggie
अंतर यह है कि आपको अपने सभी बच्चों के सामान पर बिटमैप से ध्वज को बाहर करना होगा? मेरा सुझाव था कि यदि आप पूरे विजेट को केवल पढ़ने के लिए चाहते हैं तो ~ 20 बिट्स और ~ बिटमैप ध्वज के साथ लेखन लाइन को बाहर करना था। असल में मेरी टिप्पणी गलत थी, इसे सेल डब्लूक्लेक्टेड सिग्नल डिस्कनेक्ट करना चाहिए – Damdidam
- 1. "केवल पढ़ने के लिए" फ़ाइल कैसे बनाएं?
- 2. QTableWidget कॉलम आकार बदलें
- 3. एंटिटी फ्रेमवर्क में केवल-पढ़ने वाली इकाई कैसे बनाएं?
- 4. केवल पढ़ने के लिए मोड
- 5. पायथन में केवल पढ़ने योग्य वर्ग संपत्ति कैसे बनाएं?
- 6. केवल पढ़ने के लिए टॉगल
- 7. केवल पढ़ने के लिए दृश्य संपादित करें
- 8. त्रुटि में केवल पढ़ने के लिए आपत्ति
- 9. केवल पढ़ने के लिए कैसे (प्रोग्रामेटिक रूप से भरा) प्राथमिकताएं?
- 10. केवल पढ़ने के लिए डबल पॉइंटर
- 11. जावा क्लास में दो इंटरफेस कैसे बनाएं, केवल पढ़ने के लिए, एक पठन-लिखना?
- 12. केवल पढ़ने के लिए एक MySQL पंक्ति कैसे सेट करें?
- 13. एक QTableWidget
- 14. स्प्रेडशीट में केवल कोशिकाओं को पढ़ने के लिए कैसे करें?
- 15. सी # फ़ाइल को पढ़ने बनाते हैं/केवल पढ़ने के लिए
- 16. एसवीएन: सबवर्सन के साथ केवल पढ़ने के लिए फ़ाइल कैसे बनाएं?
- 17. टेबल 'केवल पढ़ने के लिए' है
- 18. एमवीवीएम - xamdatagrid के लिए रनटाइम पर कॉलम कैसे बनाएं?
- 19. तिल SPARQL एंडपॉइंट केवल पढ़ने के लिए
- 20. QTableWidget में डेटा कैसे सॉर्ट करें?
- 21. केवल पढ़ने के लिए ऑटो बनाम (केवल पढ़ने के लिए) संपत्ति
- 22. जावास्क्रिप्ट: JSLint "फेंकता केवल पढ़ने के लिए
- 23. सर्वश्रेष्ठ अभ्यास: केवल पढ़ने के लिए आईसीओलेक्शन
- 24. स्प्रिंग: केवल पढ़ने के लिए लेन-देन
- 25. स्थिरांक बनाम स्थिर केवल पढ़ने के लिए
- 26. गहराई बफर बनाना केवल पढ़ने के लिए
- 27. जावास्क्रिप्ट स्ट्रिंग ऑब्जेक्ट केवल पढ़ने के लिए?
- 28. सुसंगत केवल पढ़ने के लिए एक डेटाबेस
- 29. स्थिरांक बनाम केवल पढ़ने के लिए
- 30. HIbernate InvalidDataAccessApiUsageException - केवल-पढ़ने के लिए मोड
'item-> setFlags (item-> झंडे()^Qt :: ItemIsEditable) का उपयोग करना बेहतर होगा; '। यह अन्य झंडे को बरकरार रखेगा – priomsrb
@priomsrb उपयोगकर्ता 2 9 343436 द्वारा सुझाए गए अनुसार 'item-> flags() और ~ Qt :: ItemIsEditable' के बजाय आप एक विशेष या (एक्सओआर) का उपयोग क्यों करते हैं? एक्सओआर का परिणाम झंडे की डिफ़ॉल्ट स्थिति पर निर्भर करता है। – m7913d
@ m7913d मुझे लगता है कि आप सही हैं। मेरा समाधान सिर्फ संपादन योग्य राज्य को टॉगल करता है। तो यह काम नहीं करेगा अगर आइटम पहले से ही पढ़ा गया था। – priomsrb