2011-08-14 20 views
9

मुझे यह पता लगाने के लिए एक ईवेंट की आवश्यकता है कि क्या उपयोगकर्ता ने स्क्रॉलबार स्थिति को दूसरे स्थान पर ले जाया है या नहीं।स्क्रॉल करते समय एक स्क्रॉलबार घटना?

दूसरे शब्दों में, यदि उपयोगकर्ता स्क्रॉल अप/डाउन करता है, तो क्या सिग्नल पकड़ना संभव होगा ताकि मैं जान सकूं कि स्क्रॉल को अपनी स्थिति बदल दी गई है?

मुझे लगता है कि यह महत्वपूर्ण नहीं है, लेकिन मैं जिस स्क्रॉलबार का उल्लेख करता हूं वह QGraphicsView के अंदर है।

सम्मान।

संपादित करें:

QGraphicsView स्क्रीन में आइटम प्रदर्शित करने के लिए है, और अगर उन वस्तुओं बहुत बड़े हैं यह स्क्रॉलबार मैं का उल्लेख पता चलता है। मुझे यह जानने की ज़रूरत है कि जब उपयोगकर्ता उन स्क्रॉलबार की स्थिति बदलता है।

उत्तर

6

स्लाइडर्स के पास sliderMoved(int value) सिग्नल है, जहां मूल्य स्लाइडर की नई स्थिति है।

+0

मैंने इस पृष्ठ को पढ़ा है (http://doc.qt.nokia.com/latest/qslider.html), लेकिन यह QGraphicsView में नहीं है। उन दोनों के बीच का अंतर यह है कि QSlider का उपयोग एक वीडियोप्लेयर के लिए स्लाइडर जैसी चीजों या उस तरह की चीजों के लिए किया जाता है। QGraphicsView स्क्रीन में आइटम प्रदर्शित करने के लिए है, और यदि वे आइटम बहुत बड़े हैं तो यह उन स्क्रॉलबार दिखाता है जिन्हें मैं संदर्भित करता हूं। मुझे यह जानने की ज़रूरत है कि जब उपयोगकर्ता उन स्क्रॉलबार की स्थिति बदलता है। – Manolo

+0

क्या आपके पास QGraphicsView से क्षैतिजस्कोलबार और लंबवत स्क्रॉलबार तक पहुंच नहीं है? –

+1

ओह, हाँ। तुम ठीक हो मेरे दोस्त मैं वर्टिकलस्कोलबार() विधि के साथ उस तक पहुंचने में सक्षम हूं। मैंने इसका "वैल्यू चेंज()" सिग्नल इस्तेमाल किया है। धन्यवाद!! – Manolo

0

यदि आपको स्क्रॉल बार स्थिति बदलने पर अधिसूचित होने की आवश्यकता है, तो आपको QGraphicsView को उप-वर्गीकृत करने और QWidget::mouseMoveEvent(QMouseEvent*) को पुन: कार्यान्वित करने की आवश्यकता है। इसके लिए आपको माउस ट्रैकिंग सक्षम करने की भी आवश्यकता है। Here is Qt 4.7 QGraphicsView reference.

+0

समाधान स्क्रॉलबार तक पहुंच रहा था और इसके सिग्नल का उपयोग कर रहा था, जैसा कि मैंने एक और पोस्ट में कहा है। वैसे भी, आपके उत्तर ^^ के लिए धन्यवाद। – Manolo

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