سؤال

أنا مبرمج جديد Java / QT وأنا أحاول بناء واجهة المستخدم الرسومية باستخدام Java و QT Jambi.

أضع pixmap داخل التسمية ويعمل جيدا، ولكن الآن أحتاج إلى إحداثيات الصورة عند النقر فوق pixmap داخل الملصق.لا أحتاج إلى إحداثيات Qwidget.أحتاج فقط إلى إحداثيات Pixmap للعمل على الصورة على النقطة النقر.

أعتقد أنني يجب أن أتجاوز moufpressevent الحدث، لكنني لا أعرف كيفية إرفاقه ب "pixmap onclick".

هل يمكن أن تجعلني مثالا سهلا؟

آمل أن أشرح مشكلتي بالطريقة الصحيحة، لغتي الإنجليزية ليست رهيبة، آسف!

هل كانت مفيدة؟

المحلول

أعتقد أنني يجب أن أتجاوز الحدث الخاص بالفيديو، لكنني لا أعرف كيفية إرفاقه ب "pixmap onclick".

يبدو أنك مربكة الأحداث والإشارات معا. السابق هو Qevent، هذا الأخير هو إشارة. ما تحتاجه هو السابق، ولا تحتاج إلى الأخير.

ستحتاج إلى تصنيف فئة QLABEL واكتب شيئا من هذا القبيل عند كتابة C ++ (وليس QT Jambi في Java، ولكن يمكنك أن تأخذ ذلك كخمانة زائفة في كلتا الحالتين).

giveacodicetagpre.

لذلك، اعتمادا على حالة استخدامك، ستحتاج إلى النظر في توثيق هذه الأساليب:

void qwidget :: mousepressEvent (qmouseevent * حدث) [محمي الظاهري]

معالج الأحداث هذا، لحدث الحدث، يمكن إعادة تكوينها في فئة فرعية لتلقي الأحداث الصحفية الماوس للقطعة.

إذا قمت بإنشاء تطبيقات موسيقية جديدة في MoufpressEvent () قد لا ينتهي الأمر MousereleaseVent () في المكان الذي تتوقعه، اعتمادا على نظام النافذة الأساسي (أو X11 Window Manager) وموقع الحاجيات وربما أكثر.

التطبيق الافتراضي ينفذ إغلاق الحاجيات المنبثقة عند النقر فوق النافذة. لأنواع القطعة الأخرى لا تفعل شيئا.

ثم هذه هي الطريقة للحصول على الموضع المحلي الذي يعمل أيضا مع QT 4. قد ترغب في النظر في Ollocation () أو طرق أخرى تم تقديمها في QT 5 إذا كنت بحاجة إلى مزيد من الدقة مع تعويم، إلخ.

QPOINT QMOUSEEVENT :: POS () Const

إرجاع موضع مؤشر الماوس، بالنسبة إلى القطعة التي تلقت الحدث.

إذا قمت بنقل عنصر واجهة المستخدم نتيجة لحدث الماوس، فاستخدم الموضع العمومي الذي تم إرجاعه بواسطة GlobalPOS () لتجنب حركة اهتزاز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top