2012-02-21 13 views
6

में समस्या को अनचेक करें I QRadioButton की चेक/अनचेक से संबंधित मुद्दों को ढूंढ रहा हूं। जिन छवियों का मैंने उपयोग किया है (एक सफेद बिंदु) और अनचेकिंग (एक सफेद बिंदु के बिना) को अद्यतन नहीं किया गया है। मेरा मुद्दा इस तरह है: मैंने कुछ QRadio बटन को लागू किया है। पहली बार सभी QRadioButtons झूठी जाँच की। तो इस मामले के लिए छवियों को एक सफेद बिंदु के बिना है। जब उपयोगकर्ता किसी भी QRadio बटन का चयन करता है तो यह छवि एक सफेद बिंदु के साथ किसी अन्य छवि में बदल जाती है। एक बटन पर क्लिक करें, मैं चेक बटन से राज्य को अनचेक करने के लिए रीसेट कर रहा हूं। हालांकि छवियों की स्थिति बदल नहीं रही है। वे चेक किए गए राज्य में रहते हैं।QRadioButton Qt

कोड::

if(ui->radioButtonReadOnlineData->isChecked()) 
    ui->radioButtonReadOnlineData->setChecked(false); 
if(ui->radioButtonSavetoDBReadOfflineData->isChecked()) 
    ui->radioButtonSavetoDBReadOfflineData->setChecked(false); 
if(ui->radioButtonViewLocalData->isChecked()) 
    ui->radioButtonViewLocalData->setChecked(false); 
if(ui->radioButtonDateRange->isChecked()) 
    ui->radioButtonDateRange->setChecked(false); 
if(ui->radioButtonAll->isChecked()) 
    ui->radioButtonAll->setChecked(false); 

QRadioButtons से प्रत्येक के लिए छवियों की तरह के रूप में सेट किया गया है:

कोड:

ui->radioButtonAll->setStyleSheet(
      "QRadioButton::indicator::checked { image: url(:/Resources/radio-btn-selected.png);}" 
      "QRadioButton::indicator::unchecked {image: url(:/Resources/radio-btn-unselected.png);}" 
      ); 

कोई सुराग क्यों QRradioButton कोड स्निपेट इस प्रकार है छवियों को अद्यतन नहीं किया गया है। धन्यवाद।

<qresource> 
    <file>Resources/radio-btn-selected.png</file> 
    <file>Resources/radio-btn-unselected.png</file> 
</qresource> 

और वह इसे सही ढंग से अपने आवेदन में शामिल है:

उत्तर

0

अपने संसाधन फ़ाइल की तरह लग रही सुनिश्चित करें।

  • या तो
RESOURCES = myresource.qrc 
  • या तो एक बाहरी द्विआधारी संसाधन फ़ाइल बनाने के तो
QResource::registerResource("/path/to/myresource.rcc"); 
साथ कार्यावधि में यह रजिस्टर के साथ अपने .pro फ़ाइल में .qrc शामिल
  • या यदि आप डिज़ाइनर का उपयोग कर रहे हैं, तो आप like this कर सकते हैं।
11

आपकी समस्या सबसे शायद करने के लिए

setAutoExclusive (bool) डिफ़ॉल्ट रूप से

संबंधित है सभी बटन एक ही मूल व्यवहार करने के लिए संबंधित के रूप में अगर वे एक ही अनन्य बटन समूह का हिस्सा थे । एक चुनने के बाद आप सभी बटन अनचेक करने के लिए वापस नहीं आ सकते हैं।

एक काम के आसपास पता लगाने के लिए क्या बटन को चेक किया गया है, और उस बटन के लिए निम्नलिखित

theSelectedButton->setAutoExclusive(false); 
thsSelectedButton->setChecked(false); 
theSelectedButton->setAutoExclusive(true); 

अधिक जानकारी के लिए इन लिंक पर एक नजर डालें कार्य करें:

http://developer.qt.nokia.com/forums/viewthread/5482

http://www.qtforum.org/article/19619/qradiobutton-setchecked-bug.html

+0

निम्न कोड एक समस्या के साथ काम करता है: – user1182217

+0

निम्न कोड एक समस्या के साथ काम करता है: 'चयनित चयन बटन -> setCheckable (गलत); ths चयनित चयन बटन-> सेट चेक (झूठा); चयनित चयन बटन-> सेट चेक करने योग्य (सत्य); 'मुद्दा यह है कि जब आप एक नया रेडियो बटन चुनते हैं तो पहले चयनित रेडियो बटन दिखाई देता है। मैं इसे कैसे रोकूं? कृपया मेरा मार्ग दर्शन कीजिए। – user1182217

+0

क्या आप कृपया अपना अद्यतन कोड प्रश्न में जोड़ सकते हैं? – Kristofer

संबंधित मुद्दे

 संबंधित मुद्दे