c++ - Check if a dialog/widget/window still open to prevent the duplication -


एक विंडो को कई बार खोलने से कैसे रोकें

निम्न चित्र देखें:

मुझे क्या चाहिए अगर खिड़की अभी भी खुली खिड़की को एक बार फिर खुली खिड़की बंद करने के बाद छोड़कर नहीं खुलती है।

अंत में, कोड: <पूर्व> शून्य विजेट :: on_search_btn_clicked () {searchItem * searchBox = new searchItem; searchBox- & gt; setModal (गलत); // & lt; --- मैं यह चाहता हूं क्योंकि यह खोज बॉक्स- & gt; शो (); searchBox- & gt; activateWindow (); }

एक समाधान है:

  1. < P> अपने वर्ग के सदस्य के रूप में searchItem * searchBox जोड़ें। <पूर्व> निजी: खोजइटम * m_searchBox;
  2. कंस्ट्रक्टर में नया खोजइटम () आरंभ करें।

      विजेट :: विजेट ) {... m_searchbox = नया खोज आईटम (); }    
  3. कॉल कॉल करें :: on_search_btn_clicked () और m_searchbox पर फ़ंक्शन का उपयोग करें ( परिणामस्वरूप यह केवल एक खिड़की है जो खोला जाएगा, भले ही यह पहले से ही खोला गया हो)

      शून्य विजेट :: on_search_btn_clicked () {m_searchbox-> gt; setModal (false); m_searchBox- & gt; शो (); m_searchBox- & gt; activateWindow (); }    
  4. डिस्ट्रक्टर में हटाएं

      विजेट :: ~ विजेट () {... delete m_searchBox; }      

Comments

Popular posts from this blog

java - ImportError: No module named py4j.java_gateway -

python - Receiving "KeyError" after decoding json result from url -

.net - Creating a new Queue Manager and Queue in Websphere MQ (using C#) -