Results 1 to 20 of 26

Thread: Undefined Reference error!!!

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Feb 2006
    Location
    New Delhi,India
    Posts
    226
    Qt products
    Qt4
    Platforms
    Windows
    Thanks
    14
    Thanked 4 Times in 4 Posts

    Default Re: Undefined Reference error!!!

    Quote Originally Posted by zlatko
    QMainWindow doesnt have slot void contentsMousePressEvent(QMouseEvent*);
    Hi,

    Okay.. This means that i will have to also inherit the class QCanvasView 'coz it contains the method contentsMousePressEvents(QMouseEvent *)...

    Is it so?????

  2. #2
    Join Date
    Mar 2006
    Posts
    10
    Qt products
    Qt3
    Platforms
    Unix/X11

    Default Re: Undefined Reference error!!!

    no, you just dont capture mouse events on a main window.

    If you want to capture them in your canvas, make a class that extends QCanvas and override its mouse events.

  3. #3
    Join Date
    Feb 2006
    Location
    New Delhi,India
    Posts
    226
    Qt products
    Qt4
    Platforms
    Windows
    Thanks
    14
    Thanked 4 Times in 4 Posts

    Default Re: Undefined Reference error!!!

    Quote Originally Posted by incubator
    no, you just dont capture mouse events on a main window.

    If you want to capture them in your canvas, make a class that extends QCanvas and override its mouse events.
    Hi,

    It means that i would make another class and its structure would look like this..
    [HTML]
    #include "imagezoomer.h"
    class Sample : public QCanvas
    {
    public:
    Sample();
    protected:
    void contentsMousePressEvent(QMouseEvent *);
    private:
    ImageZoomer *zoom;
    };
    Sample::Sample()
    {
    ImageZoomer zoom = new ImageZoomer;
    }
    void Sample::contentsMousePressEvent(QMouseEvent *event)
    {
    code
    }
    [/HTML]

    Is it so??????????????

  4. #4
    Join Date
    Mar 2006
    Posts
    10
    Qt products
    Qt3
    Platforms
    Unix/X11

    Default Re: Undefined Reference error!!!

    sort of, but your ImageZoomer extends a main window, so that class should have a private member MyCanvas that extends a QCanvas (if you use Qt4 its Q3Canvas I think)

    and in that MyCanvas class you override your mouse events.

  5. #5
    Join Date
    Feb 2006
    Location
    New Delhi,India
    Posts
    226
    Qt products
    Qt4
    Platforms
    Windows
    Thanks
    14
    Thanked 4 Times in 4 Posts

    Default Re: Undefined Reference error!!!

    Hi...

    The new class which i have created is CanvasMouse..

    Now in my ImageZoomer i have created a CanvasMouse *canmouse variable which would call the CanvasMouse which inherits the Q3CanvasView....

    In imageZoomer i have created a Q3CanvasView and have passed in the constructor of the CanvasMouse which reads this
    CanvasMouse(Q3CanvasView *canview): canvasview(canview)

    Now class CanvasMouse contains all the canvas related functionalities...

    is this approach correct ?????

  6. #6
    Join Date
    Jan 2006
    Location
    Ukraine,Lviv
    Posts
    454
    Qt products
    Qt3
    Platforms
    Unix/X11 Windows
    Thanks
    9
    Thanked 27 Times in 27 Posts

    Default Re: Undefined Reference error!!!

    Quote Originally Posted by Kapil
    In imageZoomer i have created a Q3CanvasView and have passed in the constructor of the CanvasMouse which reads this
    CanvasMouse(Q3CanvasView *canview): canvasview(canview)
    You sholdn't give Q3CanvasView parametr. You need give only pointer on parent class.

    Qt Code:
    1. CanvasMouse *canmous = new CanvasMouse(this);
    2.  
    3. *****
    4. CanvasMouse(ImageZoomer*p): canvasview(p)
    5. {
    6. }
    To copy to clipboard, switch view to plain text mode 


    p.s. also you could give any parametres (if you dont need it in future )
    a life without programming is like an empty bottle

  7. #7
    Join Date
    Feb 2006
    Location
    New Delhi,India
    Posts
    226
    Qt products
    Qt4
    Platforms
    Windows
    Thanks
    14
    Thanked 4 Times in 4 Posts

    Default Re: Undefined Reference error!!!

    Quote Originally Posted by zlatko
    You sholdn't give Q3CanvasView parametr. You need give only pointer on parent class.

    Qt Code:
    1. CanvasMouse *canmous = new CanvasMouse(this);
    2. *****
    3. CanvasMouse(ImageZoomer*p): canvasview(p)
    4. {
    5. }
    To copy to clipboard, switch view to plain text mode 
    Hi..

    won't this result in a circular dependency... i have included the header file "canmouse.h" in my ImageZoomer class and created an object of it.. Now when i pass the ImageZoomer object to CanMouse class, it would i suppose result into a circular dependency...

    Isn't it so?????

  8. #8
    Join Date
    Mar 2006
    Posts
    10
    Qt products
    Qt3
    Platforms
    Unix/X11

    Default Re: Undefined Reference error!!!

    yes, there is no need to pass the imagezoomer to your canvas, no need at all...
    just have the canvas as member of imagezoomer and add this to one of your layouts

  9. #9
    Join Date
    Feb 2006
    Location
    New Delhi,India
    Posts
    226
    Qt products
    Qt4
    Platforms
    Windows
    Thanks
    14
    Thanked 4 Times in 4 Posts

    Default Re: Undefined Reference error!!!

    Quote Originally Posted by incubator
    yes, there is no need to pass the imagezoomer to your canvas, no need at all...
    just have the canvas as member of imagezoomer and add this to one of your layouts
    Hi...

    i have done something similar but getting error
    "Undefined reference to VTABLE" error.. I know this is inheritance problem but am not able to understand where i have gone wrong..

    i have created a main.cpp where i create MainWindow object and pass it to ImageZoomer.cpp...
    Now in ImageZoomer.cpp i have created CanvasMouse object and passed it the frame where i have to set the Canvas...
    CanvasMouse derives the base class Q3CanvasView and in the constructor i have intialized the Q3CanvasView to frame.. The statement is:

    CanvasMouse::CanvasMouse(QFrame *frame): Q3CanvasView(frame){}


    But it is creating error.. what can be the possible reason behind it...

  10. #10
    Join Date
    Feb 2006
    Location
    New Delhi,India
    Posts
    226
    Qt products
    Qt4
    Platforms
    Windows
    Thanks
    14
    Thanked 4 Times in 4 Posts

    Default Re: Undefined Reference error!!!

    Hi..

    Done....

    Thanks a lot everyone for all the suggestions provided....

    Kapil

Similar Threads

  1. how to add static library into qmake
    By Namrata in forum Qt Tools
    Replies: 1
    Last Post: 20th November 2007, 17:33
  2. MS Sql native driver??
    By LordQt in forum Qt Programming
    Replies: 4
    Last Post: 9th October 2007, 13:41
  3. error undefined reference ...............
    By amit_pansuria in forum Qt Programming
    Replies: 2
    Last Post: 8th June 2007, 14:28
  4. how to correctly compile threads support?
    By srhlefty in forum Installation and Deployment
    Replies: 9
    Last Post: 25th June 2006, 19:15
  5. Strange error while using Q3Canvas
    By Kapil in forum Newbie
    Replies: 13
    Last Post: 15th June 2006, 19:36

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.