Shortcut QLineEdit
-
wrote on 26 Mar 2012, 07:06 last edited by
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 ?
-
wrote on 26 Mar 2012, 21:10 last edited by
Create a class which inherits from QLineEdit.
And then , reimplement keyPressEvent()This is a quick exemple !
@
GrabLineEdit::GrabLineEdit(QWidget *parent) :
QLineEdit(parent)
{
}void GrabLineEdit::keyPressEvent(QKeyEvent *event)
{
QString grab;
switch ( event->modifiers())
{
case Qt::ShiftModifier : grab.append("Shift+");break;
case Qt::ControlModifier : grab.append("Ctrl+");break;
case Qt::AltModifier : grab.append("Alt+");break;
}grab.append(event->text()); setText(grab); // QLineEdit::keyPressEvent(event);
}
@ -
wrote on 27 Mar 2012, 09:14 last edited by
ho ho ))) great quick example... thx
-
wrote on 27 Mar 2012, 09:32 last edited by
But some thing strange comes, when Ctrl pressed no key text
returned by QKeyEvent::text() -
wrote on 2 May 2012, 09:45 last edited by
solve problem with Ctrl and modify keyPressEvent function
@
void keyPressEvent(QKeyEvent *event)
{
QString grab;
int modifiers = event->modifiers();
if(modifiers & Qt::ControlModifier)
grab.append("Ctrl+");
if(modifiers & Qt::ShiftModifier)
grab.append("Shift+");
if(modifiers & Qt::AltModifier)
grab.append("Alt+");
grab.append(event->key());
setText(grab);
// QLineEdit::keyPressEvent(event);
}
@Edit: please use @ tags around code sections; Andre
-
wrote on 22 Sept 2014, 11:55 last edited by
Sorry for digging it out :)
Is there any way to solve this issue without inheriting QLineEdit?
P.S. I already built my ui so reimplementing a new class will be hard to me.
-
eventFilter comes to mind if you don't want to subclass