मेरे पास दो चेकबॉक्स हैं (QCheckbox), जिनमें से पहला मैं कभी-कभी छुपाता हूं। छिपाने के बाद() मैं फिर मूल विजेट के लिए अगला इनफोकसचैन() पुनर्प्राप्त करना चाहता हूं। यह पहला चेकबॉक्स देता है, भले ही वह छिपा हो या नहीं। क्या मुझसे कुछ गलत हो रही है? मैंने सोचा होगा कि एक छुपा विजेट फोकस श्रृंखला का हिस्सा नहीं है, इसलिए इसे वापस नहीं किया जाना चाहिए।
if (shouldHideFirstCheckbox) {
firstCheckbox.hide();
}
QCheckBox* nextWidget = dynamic_cast<QCheckBox*>(nextInFocusChain());
// nextWidget is always firstCheckbox, regardless of whether it's hidden
1 उत्तर
संक्षिप्त उत्तर: यह डिजाइन द्वारा है।
यदि आप QWidget::setTabOrder()
के कार्यान्वयन को देखते हैं, तो आप देखेंगे कि विजेट की दृश्यता को ध्यान में नहीं रखा गया है: https://code.woboq.org/qt5/qtbase/src/widgets/kernel/qwidget.cpp.html#6969
संबंधित सवाल
नए सवाल
qt
Qt एक क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन डेवलपमेंट फ्रेमवर्क है जो व्यापक रूप से एप्लिकेशन सॉफ़्टवेयर के विकास के लिए उपयोग किया जाता है जो कि विभिन्न सॉफ़्टवेयर और हार्डवेयर प्लेटफ़ॉर्म पर चलाए जा सकते हैं, जिसमें अंतर्निहित कोडबेस में बहुत कम या कोई परिवर्तन नहीं होता है, जबकि देशी अनुप्रयोगों की शक्ति और गति होती है। Qt कमर्शियल और ओपन सोर्स लाइसेंस दोनों के साथ उपलब्ध है।