qt - How to remove the focus of a QGraphicsTextItem from a main QWidget -


मेरे पास बहुत से QGraphicsTextItem और QGraphicsItem एक < कोड> QGraphicsView । यह QGraphicsView को मुख्य Qwidget में जोड़ दिया गया है।

मैंने इस के लिए " FocusOutEvent " लिखा है QGraphicsTextItem और फोकस को हटा दिया जा रहा है जब " MousePressEvent " को QGraphicsView के भीतर कहा जाता है।

अब मेरी चिंता यह है कि इस QGraphicsTextItem के फोकस को कैसे हटाया जाए, जब MousePressEvent को QGraphicsView के बाहर कहा जाता है ?

मेरे MainWindow.cpp में, मैंने एक MousePressEvent फ़ंक्शन लिखा है:

  शून्य आइगूईमेनवाइड :: माउसप्रेसइवेंट ( QMouseEvent * ई) {QWidget * w = QApplication :: focusWidget (); यदि (डब्ल्यू) w- & gt; स्पष्टफ़ोक्स (); }  

लेकिन यह QGraphicsTextItem को साफ़ नहीं कर रहा है।

एक सकारात्मक प्रतिक्रिया की उम्मीद है।

एक QGraphicsTextItem एक विजेट नहीं है, लेकिन एक । एक या अधिक विजेट द्वारा ग्राफ़िक्स आइटम को जोड़ दिया गया है।

प्रस्तुत कोड केवल वर्तमान फ़ोकस किए विजेट पर स्पष्ट ध्यान केंद्रित कर रहा है, लेकिन जब से QGraphicsTextItem कोई विजेट नहीं है, तो यह नहीं होगा मंजूरी दे दी।

QGraphicsTextItem पर ध्यान केंद्रित करने के लिए, अपने फ़ंक्शन को कॉल करें यदि आपके पास आइटम के लिए कोई संकेतक नहीं है, तो आप फ़ंक्शन के साथ दृश्य में सभी आइटमों की सूची प्राप्त कर सकते हैं और उनके द्वारा पुनरावृत्त कर सकते हैं।


Comments