اختصاران ل qabstractbutton
-
05-07-2019 - |
سؤال
أحتاج إلى تعيين اختصارين إلى Qabstractbutton ، لكن لا يمكنني إيجاد طريقة للقيام بذلك.
يبدو أن الطريقة الوحيدة هي Qabstractbutton :: setShortCut (const qekekequence & key).
هل هو ممكن ؟
المحلول
Qabstractbutton تقبل فقط تسلسل اختصار واحد. حاول أن تعطي لاختصار QTDesigner مثل Alt+A & Alt+Z وسترى أنه يجب عليك القيام ب alt+ و ALT+Z لتنفيذ اختصار. لذلك لا يمكنك تحقيق 2 اختصارات كما تريد.
ولكن هناك حل:
الجميع QObject
احصل على وظيفة اسمها event
هذا يتلقى جميع الأحداث. يمكنك إنشاء فصلك الخاص الذي يرث من زر الفصل الخاص بك (QPushButton
, ، إلخ أو مباشرة من QAbstractButton
إذا كنت ترغب في الحصول على زر مخصص) مع قائمة من QShortcutSequence
(أو زوج إذا كنت تريد اختصارات 2 فقط) وإعادة تنفيذ event
وظيفة لتتبع QShortcutEvent
. لا تنس أن تصدر جميع الأحداث الأخرى لتكون معالجة من قبل فصول الوالدين.