C++ Qt QShortcut with numpad key -


qshortcut makes easy connect qshortcutevent (key press, combination or sequence) slot method, e.g.:

qshortcut *shortcut = new qshortcut( qkeysequence(qt::key_7), this, 0, 0, qt::applicationshortcut); 

(hint: number keys, qsignalmapper can used map qshortcut's activated() signal slot int parameter).

however, in example, numlock (numpad enabled), both '7' keys trigger shortcut's activated() signal.

is there way detect different keys other filtering or reimplementing widget's keypressevent , check qkeyevent::modifiers() qt::keypadmodifier?

digging further, found

qtbug-20191 qt::keypadmodifier not work setshortcut linking patch has been merged 4.8 in sept. 2012 , comes test case using

button2->setshortcut(qt::key_5 + qt::keypadmodifier); 

which not work qshortcut on qt 4.8.1, i.e. neither of '7' keys recognized using (adding) modifier flag.

so guess quickest way installing filter detect modifier , let other keyevents handled default implementation useable qshortcut?

for can use keyreleaseevent(qkeyevent *event) example

void form::keyreleaseevent(qkeyevent *event)    {     int key = event->nativescancode();      if( key == 79 ) //value numpad 7     {        //your statement        }   } 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -