[Kde-perl] How to know about getting the focus

Thomas Bayen tbayen at bayen.de
Mon Oct 27 02:26:55 CET 2003


Hi,

I am looking for a gui toolkit for a bigger project in perl. So I tried 
using perl-qt. I am experienced in perl but a newbie to Qt.

I need to know when the user changes the input focus (I want to change 
some things like menus context-sensitive). How can I get informed when 
the focus changes?

I tried the following, but it doesn't work. I can't call the normal 
focus-change-handler. I get the error:

   --- No method to call for :
           QPushButton::focusInEvent(QPushButton, QFocusEvent)

If I change the last line to

   Qt::PushButton::focusInEvent(@_);

I get an memory allocation error. :-( I tried the same with "event()" 
and had the same problems. I tried to install an eventFilter but I 
could't get it word also. :-( Can someone help me?!?



----------------------------------------------------------------------
package Qt::TestWidget;
use Qt;
use Qt::isa qw(Qt::PushButton);

sub NEW{
   shift->SUPER::NEW(@_);
   #setPaletteBackgroundColor(Qt::Color(180,180,220));
}

sub focusInEvent{
   warn "focus";
   this->SUPER::focusInEvent(@_);
}
----------------------------------------------------------------------


Thanks,

Thomas



More information about the Kde-perl mailing list