سؤال

أحتاج إلى تعيين اختصارين إلى Qabstractbutton ، لكن لا يمكنني إيجاد طريقة للقيام بذلك.

يبدو أن الطريقة الوحيدة هي Qabstractbutton :: setShortCut (const qekekequence & key).

هل هو ممكن ؟

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

المحلول

Qabstractbutton تقبل فقط تسلسل اختصار واحد. حاول أن تعطي لاختصار QTDesigner مثل Alt+A & Alt+Z وسترى أنه يجب عليك القيام ب alt+ و ALT+Z لتنفيذ اختصار. لذلك لا يمكنك تحقيق 2 اختصارات كما تريد.

ولكن هناك حل:

الجميع QObject احصل على وظيفة اسمها event هذا يتلقى جميع الأحداث. يمكنك إنشاء فصلك الخاص الذي يرث من زر الفصل الخاص بك (QPushButton, ، إلخ أو مباشرة من QAbstractButton إذا كنت ترغب في الحصول على زر مخصص) مع قائمة من QShortcutSequence (أو زوج إذا كنت تريد اختصارات 2 فقط) وإعادة تنفيذ event وظيفة لتتبع QShortcutEvent. لا تنس أن تصدر جميع الأحداث الأخرى لتكون معالجة من قبل فصول الوالدين.

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