QTableWidget में कॉलम कैसे बनाएं केवल पढ़ने के लिए?




qt4 (3)

मैं QTableWidget में एक कॉलम संपादित नहीं करना QTableWidget
मंचों में मैंने कुछ flags बारे में बहुत कुछ पढ़ा है लेकिन इसे लागू करने में सक्षम नहीं हो सका।


एक्सओआर का उपयोग करने का नतीजा इस बात पर निर्भर करता है कि वर्तमान स्थिति क्या है। मैं उपयोग करने का सुझाव देना चाहूंगा

item->setFlags(item->flags() &  ~Qt::ItemIsEditable);

यह सुनिश्चित करने के लिए कि वर्तमान सेटिंग के बावजूद संपादन बंद हो गया है।


निम्नलिखित प्रकार की वस्तुओं के बाद QTableWidget में डालें:

QTableWidgetItem *item = new QTableWidgetItem();
item->setFlags(Qt::ItemIsSelectable|Qt::ItemIsEnabled);

ठीक काम करता है!

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

QTableWidgetItem *item = new QTableWidgetItem();
item->setFlags(item->flags() ^ Qt::ItemIsEditable);

यह एक बेहतर समाधान है। @Priomsrb के लिए धन्यवाद।


मैं एक बेहतर सुझाव के लिए आया, बस एक नए स्लॉट के साथ सेल डबलक्लेक्टेड सिग्नल को ओवरराइट करें। यह है, अगर आप किसी भी कक्ष को संशोधित नहीं करना चाहते हैं