2015-01-09 4 views
5

मेरे पास मुख्य विंडो द्वारा एक यूआई विंडो है। मैं इसे गैर-मोडल होना चाहता हूं, लेकिन माता-पिता के शीर्ष पर रहना चाहता हूं, और यदि माता-पिता को कम किया जाता है, तो इसे कम किया जा सकता है।क्यूटी: जब बच्चे फोकस खो देता है तब भी बच्चे की खिड़की को माता-पिता के शीर्ष पर रखें

यदि उपयोगकर्ता दोनों में परिवर्तन करना चाहता है, तो वह सक्षम होना चाहिए, और जब तक उपयोगकर्ता इसे बंद नहीं कर लेता तब तक बच्चा बंद नहीं होगा। बच्चा हमेशा माता-पिता के शीर्ष पर रहेगा - लेकिन किसी और चीज के शीर्ष पर नहीं।

m_child->show(); 
m_child->activateWindow(); 

उपरोक्त स्थानों माता पिता के शीर्ष पर बच्चे, यह माता पिता पर काम की अनुमति देता है, जबकि बच्चे को शुरू कर दिया गया है ... लेकिन बच्चे माता-पिता के पीछे छिपा है अगर यह ध्यान केंद्रित खो देता है।

m_child->show(); 
m_child->activateWindow(); 
m_child->raise(); 

कोई परिवर्तन नहीं।

Qt::WindowFlags flags = m_child->windowFlags(); 
m_child->setWindowFlags(flags | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint); 
m_child->show(); 
m_child->activateWindow(); 

बच्चे का उपयोग करते हुए शीर्ष पर है, के रूप में मैं चाहता हूँ, मैं माता-पिता पर काम कर सकते हैं, जबकि बच्चे अभी भी शीर्ष पर दिखाया जाता है ... लेकिन माता-पिता को न्यूनतम बच्चे के रूप में अच्छी तरह से कम से कम नहीं है , और बच्चा सभी खिड़कियों के शीर्ष पर रहता है (यह केवल माता-पिता के शीर्ष पर ही रहना चाहिए)

मैं "टूलबॉक्स शैली" प्रभाव कैसे बना सकता हूं - माता-पिता सक्रिय होने पर बच्चे को माता-पिता के शीर्ष पर रखें, लेकिन कम करें बच्चे को कम किया जाता है जब बच्चे को कम किया जाता है?

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

उत्तर

9

आप टूलबॉक्स विजेट पर Qt::Tool ध्वज जोड़कर और मुख्य विंडो को अपने माता-पिता के रूप में सेट करके इस व्यवहार को प्राप्त कर सकते हैं।

http://doc.qt.io/qt-5/qt.html#WindowType-enum

+0

धन्यवाद! मैंने क्यूटी :: टूल ध्वज की कोशिश की है लेकिन माता-पिता के बारे में नहीं पता था, यह पूरी तरह से काम करता है! – Thalia

+1

मैक के लिए, व्यवहार उतना नहीं है जितना मैं चाहता हूं - "टूल" विंडो हमेशा शीर्ष पर रहती है, भले ही मैं ऐप को कम करता हूं ... मैंने setAttribute (Qt :: WA_MacAlwaysShowToolWindow, false) की कोशिश की है लेकिन ऐसा कोई फर्क नहीं पड़ता .. क्या कोई झंडा है जो मैक पर विंडोज़ व्यवहार की नकल करेगा? – Thalia

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

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