March 26, 2012

maxvanceffer maxvanceffer
Lab Rat
50 posts

Shortcut QLineEdit

 

I need created shortcut grabber, such as used in Qt Creator keyboard mapping. Can any body tell, if something already exist in free use. Or point me where to find, source of Qt Creator shortcut edit class grab ?

4 replies

March 26, 2012

dridk dridk
Lab Rat
48 posts

Create a class which inherits from QLineEdit.
And then , reimplement keyPressEvent()

This is a quick exemple !

  1. GrabLineEdit::GrabLineEdit(QWidget *parent) :
  2.     QLineEdit(parent)
  3. {
  4. }
  5.  
  6. void GrabLineEdit::keyPressEvent(QKeyEvent *event)
  7. {
  8.     QString grab;
  9.     switch ( event->modifiers())
  10.     {
  11.     case Qt::ShiftModifier : grab.append("Shift+");break;
  12.     case Qt::ControlModifier : grab.append("Ctrl+");break;
  13.     case Qt::AltModifier : grab.append("Alt+");break;
  14.     }
  15.  
  16.         grab.append(event->text());
  17.         setText(grab);
  18.  
  19.     // QLineEdit::keyPressEvent(event);
  20. }

 Signature 

Nothing in Biology Makes Sense Except in the Light of Evolution

March 27, 2012

maxvanceffer maxvanceffer
Lab Rat
50 posts

ho ho ))) great quick example… thx

March 27, 2012

maxvanceffer maxvanceffer
Lab Rat
50 posts

But some thing strange comes, when Ctrl pressed no key text returned by QKeyEvent::text()

May 2, 2012

MAD911 MAD911
Lab Rat
1 posts
solve problem with Ctrl and modify keyPressEvent function
  1. void keyPressEvent(QKeyEvent *event)
  2. {
  3.   QString grab;
  4.   int modifiers = event->modifiers();
  5.   if(modifiers & Qt::ControlModifier)
  6.     grab.append("Ctrl+");
  7.   if(modifiers & Qt::ShiftModifier)
  8.     grab.append("Shift+");
  9.   if(modifiers & Qt::AltModifier)
  10.     grab.append("Alt+");
  11.   grab.append(event->key());
  12.   setText(grab);
  13.   // QLineEdit::keyPressEvent(event);
  14. }

Edit: please use @ tags around code sections; Andre

 
  ‹‹ How can i set QStandardItem in the row which have parents?      [SOLVED]How to disable Scrollbars on QWidget ››

You must log in to post a reply. Not a member yet? Register here!