Problem with QT programming
Hi all,
I need help very urgently.
I am trying to change push button geometry when i press tab key.
I have done it with mouse move event. so when mouse arrow is on push button it changes shape.
now i want that when i select push button using tab key it changes its shape.
I don't know how to do it.
Please help me in that matter. how can i do this. please send me code to perform this action.
Thanks in advance.
Re: Problem with QT programming
Have you tried installing an event listener?
Re: Problem with QT programming
No i have try Key event.
this is in my1.cpp
void my1::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Tab)
{
pushButton->setGeometry(QRect(100, 110, 150, 101));
}
else
{
pushButton->setGeometry(QRect(100, 110, 140, 50));
}
}
in my1.h file i write
class my1 : public QWidget,private Ui_my1
{
Q_OBJECT
public:
explicit my1(QWidget *parent = 0, Qt::WindowFlags f = 0 );
~my1();
Protected:
void keyPressEvent(QKeyEvent * event);
};
but when i press tab key it does not change push button geometry. Please help me how to do this function.
Please if possible provide me code to implement this functionality.
thanks in advance... waiting for reply.........
Re: Problem with QT programming
from C++ GUI Programming with Qt 4 page 164:
Quote:
The Tab and Backtab (Shift+Tab) keys are special cases. They are handled by
QWidget::event() before it calls keyPressEvent(), with the semantic of passing
the focus to the next or previous widget in the focus chain.
Update: Also the online doc for QWidget::event() documents that.
Re: Problem with QT programming
keyPressEvent is insufficient (for the reason shown above). Install an event listener, as I've stated above.