[Kde-perl] Subclasses and signals with PerlQT
Yanick
yanick at istop.com
Thu Jul 29 17:40:53 CEST 2004
On Thu, Jul 29, 2004 at 12:32:15PM +0200, Cervera.External at infineon.com wrote:
> Is there a way to connect a signal in a class B which inherits from a
> class A, where this signal is implemented?
> I have tried, but the signal is never emitted!
I probably misundertand what you are trying to acheive, but it seems to
work pretty straightforwardly :
use Qt;
package Darth;
use Qt::isa qw/ Qt::Widget /;
sub NEW {
shift->SUPER::NEW(@_[0..2]);
this->connect( this, SIGNAL("useTheForce()"), SLOT( "feelTheForce()") );
}
sub useTheForce : SIGNAL();
sub feelTheForce : SLOT() {
print this." feels a disturbance in the Force\n";
}
package Padawan;
use Qt::isa qw/ Darth /;
sub NEW {
shift->SUPER::NEW(@_[0..2]);
this->connect( this, SIGNAL( 'useTheForce()' ), SLOT('react()') );
}
sub react : SLOT() {
print "It felt like a million toes wiggling\n";
}
package main;
use Qt;
use Darth;
use Padawan;
my $a = Qt::Application;
my $vader = Darth;
emit( $vader->useTheForce() );
my $luke = Padawan;
emit( $luke->useTheForce() );
exit $a->exec;
Joy,
`/anick
--
"The longer I live the more I see that I am never wrong about anything, and that
all the pains that I have so humbly taken to verify my notions have only wasted my
time." - George Bernard Shaw (1856-1950)
More information about the Kde-perl
mailing list