[Qt-interest] problem with signal/slot
Mahendra G.R
mahendra at mahendragr.com
Wed Dec 8 18:20:26 CET 2010
Hi,
yes i do put it in a seperate cpp file, just to make it look shorter in the
mail i did that :), but still no use, it says method is not found. any other
reasons?, thanks for your reply.
On Wed, Dec 8, 2010 at 6:08 PM, Xiaolei Shang <xiaolei.shang at cobham.com>wrote:
> Hi:
>
> Hi guys,
>
> i have a small problem with signal/slot, though i have defined my slot
> method, i get runtime message saying Object::connect: No such slot
> CustomScene::updateAlphaValue() , i have defined the method
> updateAlphaValue() in the customScene class
>
> this is my code :
>
> class CustomScene : public QGraphicsScene
> {
>
> Q_OBJECT
> public:
> CustomScene()
> {
> alphaSlider = new QSlider(Qt::Horizontal);
> alphaSlider->setTickInterval(1);
> alphaSlider->setRange(0,255);
> alphaSlider->setMinimumSize(105,20);
> alphaSlider->move(6,222);
> alphaSlider->setToolTip("Opacity");
> connect( alphaSlider, SIGNAL(valueChanged(int)),
> SLOT(updateAlphaValue()) );
> //some other stuff
> }
>
> public slots :
> void updateAlphaValue();
>
> };
> --
> http://www.mahendragr.com
>
> If you move the declaration of updateAlphaValue() to the front of the
> definition of the constructor, the compiler should be able to see the
> function. Like this:
>
> class CustomScene : public QGraphicsScene
> {
>
> Q_OBJECT
>
> public slots :
> void updateAlphaValue();
>
> public:
> CustomScene()
> {
> alphaSlider = new QSlider(Qt::Horizontal);
> alphaSlider->setTickInterval(1);
> alphaSlider->setRange(0,255);
> alphaSlider->setMinimumSize(105,20);
> alphaSlider->move(6,222);
> alphaSlider->setToolTip("Opacity");
> connect( alphaSlider, SIGNAL(valueChanged(int)),
> SLOT(updateAlphaValue()) );
> //some other stuff
> }
> ...
> };
>
> As you define your constructor in your declaration scope. You have to
> declare a function before you call it. Otherwise, the compiler won't see it.
> However, in this case, this is not a good way for defining the class as it
> contains many line codes. Implicitly, it's a online function. I would
> recommand to put the definition of the constructor in a .cpp file.
>
> Cheers
>
> Xiaolei
>
>
> _______________________________________________
> Qt-interest mailing listQt-interest at trolltech.comhttp://lists.trolltech.com/mailman/listinfo/qt-interest
>
>
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
>
--
http://www.mahendragr.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20101208/3a8fb047/attachment.html
More information about the Qt-interest-old
mailing list