qt - Synchronize QTableWidget cell with widget in the center of the cell -
मैं इस कोड का नतीजा केंद्र में चेकबॉक्स वाला सेल है। मुझे माउस को हिलने और रिक्त क्षेत्र में क्लिक करने के लिए चेकबॉक्स प्रतिक्रिया करने की आवश्यकता है जैसे कि कर्सर चेकबॉक्स के अंतर्गत है। यदि आप अब पूरे सेल जांच योग्य होगा कोड को परिशोधन की आवश्यकता हो सकती है। QCheckBox में
QTableWidgetCell
QWidget * विजेट = नया QWidget (); QCheckBox * चेकबॉक्स = नया QCheckBox (); QHBoxLayout * लेआउट = नया QHBoxLayout (विजेट); लेआउट & gt; addWidget (चेकबॉक्स); लेआउट & gt; setAlignment (क्यूटी :: AlignCenter); लेआउट-> सेट कंटेंट्स मार्जिन (0, 0, 0, 0); विजेट & gt; setLayout (लेआउट); टेबल- & gt; सेटसेलवेल (0, 0, विजेट);
QCheckBox की पूर्णतापूर्ण कार्यक्षमता नहीं चाहते हैं, लेकिन बस चेकमार्क, आप एक सरल
QTableWidgetItem का उपयोग कर सकते हैं और अपने चेकस्टेट को संशोधित कर सकते हैं।
QTableWidgetItem * item = new QTableWidgetItem (); आइटम, & gt; setCheckState (क्यूटी :: अनियंत्रित); टेबल- & gt; सेट आईटम (0, 0, आइटम); कनेक्ट (टेबल, सिग्नल (सेलक्लाइट (int, int)), यह, स्लॉट (ऑनक्लाइट (int, int))); शून्य OnClicked (int पंक्ति, int स्तंभ) {यदि (पंक्ति! = चेकबलरॉउ एंड कं! = चेकलेबल) वापसी; // या कुछ और आइटम करें- तालिका- & gt; आइटम (पंक्ति, स्तंभ); आइटम- & gt; सेट चेकस्टेट (आइटम- & gt; चेकस्टेट () == क्यूटी :: चेक किया गया? क्यूटी :: अनचेकः क्यूटी :: चेक किया गया); }
Comments
Post a Comment