[Kde-perl] Qt::Slider revisited
Germain Garand
germain at ebooksfrance.org
Thu Mar 25 23:10:17 CET 2004
Le Jeudi 25 Mars 2004 20:26, Wolfgang Hommel a écrit :
> Greetings!
>
> Although it's been briefly discussed on the list just two weeks ago, I'd
> really appreciate some details on the "Qt::Slider isn't displayed"
> issue. I'm referring to the code of PerlQT tutorial 6, presently
> available at
>
Ouch, thanks for the reminder, I didn't notice the reference to the tutorial
in your original message... that's an ugly one indeed.
Seems garbage collection check is broken for classes with multiple inheritance
(Qt::Slider is both a Qt::Widget and Qt::RangeControl)
Will fix asap.
[...]
> Now, if the above package is changed to:
...
> my slider;
> sub NEW {
> shift->SUPER::NEW(@_);
>
> my $lcd = Qt::LCDNumber(2, this, "lcd");
> $slider = Qt::Slider(&Horizontal, this, "slider");
...
> (This has been suggested 2 weeks ago)
>
> Then the Slider gets displayed, but (of course?) only the very last
> instance of all "LCDRange"s has got a Slider, the others don't; i.e.,
> the example code creates 16 of them, but only the 16th (bottom right)
> got a Slider attached to it.
>
The Slider shouldn't be garbage collected, that's definetly a bug.
Now for your question, the proper way of keeping data inside a PerlQt class
on a per-instance basis is to use Qt::attributes (try reading the PerlQt
programming tutorial on that subject, please)
Qt::attributes are shorthands to the corresponding entries in the object's
hash (as in traditional Perl OO, but with compile time checking)
Germain
More information about the Kde-perl
mailing list