Results 1 to 8 of 8

Thread: Best place to apply a QMatrix transform to paint() event in an app

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Sep 2015
    Posts
    50
    Thanks
    8
    Qt products
    Qt5
    Platforms
    Unix/X11

    Default Best place to apply a QMatrix transform to paint() event in an app

    Hello all,

    I am working on a mathematics tutor app and so I need to transform my coordinate space into traditional Cartesian Coordinates.

    I have found a solution here: http://stackoverflow.com/questions/4...painter-y-axis

    which I have added to one of my QGraphicsItem object's paint() event handlers for testing but I would like to apply it at a more global scale. I looked at the widget I am using as the QGraphicsView as the place to set this however it doesn't have a paint(), just these:
    Qt Code:
    1. virtual void drawBackground(QPainter * painter, const QRectF & rect)
    2. virtual void drawForeground(QPainter * painter, const QRectF & rect)
    To copy to clipboard, switch view to plain text mode 

    If I wanted to plug the code into my application so that EVERYTHING is drawn automagically in the coordinate system I need it to be, where is the best place to put it?

    Code I have added to my QGraphicsItem:
    Qt Code:
    1. void PhysVector::paint(QPainter *pPainter, const QStyleOptionGraphicsItem *pOption, QWidget *) {
    2.  
    3. // Setting the matrix rotates the drawing area to be a normal cartesian plane. Unfortunately
    4. // it also means that the original drawing has to be tweaked
    5. QMatrix matrix;
    6. matrix.scale(1, -1);
    7. pPainter -> setMatrix(matrix);
    To copy to clipboard, switch view to plain text mode 

    One further note I would like to make, is I would like to affect ONLY the drawing of objects, not the interaction of mouse clicks and what not. Unless they are inseparable I mean...
    Thank you!
    - Caolan
    Last edited by Caolan O'Domhnaill; 2nd October 2015 at 20:50.

Similar Threads

  1. Timer event & paint event, priority
    By Teuniz in forum Qt Programming
    Replies: 0
    Last Post: 2nd February 2010, 13:33
  2. Paint event function in key press event
    By soumya in forum Qt Programming
    Replies: 6
    Last Post: 2nd February 2010, 12:40
  3. Replies: 0
    Last Post: 3rd March 2009, 15:38
  4. Where to apply transform? iterm or QPainter?
    By lni in forum Qt Programming
    Replies: 1
    Last Post: 29th January 2009, 08:40

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
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.