[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    [PyQt] caching qgraphicssvgitem is buggy
From:       Wolfgang Rohdewald <wolfgang () rohdewald ! de>
Date:       2009-03-29 14:22:45
Message-ID: 200903291622.46087.wolfgang () rohdewald ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I am using qt4.5 with python-qt4.4.4 (ubuntu jaunty)

In my application I have a qgraphicssvgitem. 
When I change the element to be rendered with 
setElementId(), this change does not do anything.
I still see the old element displayed.

Only after I invalidate the cache or resize the view
(which also resizes the graphicssvgitem) the correct
new element is shown.

If I disable caching, I have no problems either.

the two elements have the same size and the names
TILE_1 and TILE_2

Could this be a problem with pyqt, or rather with qt4.5?
The list of bugs to be fixed with 4.5.1 does not
mention this.

I checked the qt4.5 code:

void QGraphicsSvgItem::setElementId(const QString &id)
{
    Q_D(QGraphicsSvgItem);
    d->elemId = id;
    d->updateDefaultSize();
    update();
}


-- 
Wolfgang

[Attachment #5 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" \
/><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" \
font-family:'Bitstream Vera Sans Mono'; font-size:8pt; font-weight:400; font-style:normal;">I \
am using qt4.5 with python-qt4.4.4 (ubuntu jaunty)<br> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;"><br></p>In my application I have a qgraphicssvgitem. <br> \
When I change the element to be rendered with <br> setElementId(), this change does not do \
anything.<br> I still see the old element displayed.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Only after I \
invalidate the cache or resize the view<br> (which also resizes the graphicssvgitem) the \
correct<br> new element is shown.<br>
<br />If I disable caching, I have no problems either.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>the two \
elements have the same size and the names<br> TILE_1 and TILE_2<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>Could this be \
a problem with pyqt, or rather with qt4.5?<br> The list of bugs to be fixed with 4.5.1 does \
not<br> mention this.<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>I checked the \
qt4.5 code:<br> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>void QGraphicsSvgItem::setElementId(const QString &amp;id)<br> {<br>
    Q_D(QGraphicsSvgItem);<br>
    d-&gt;elemId = id;<br>
    d-&gt;updateDefaultSize();<br>
    update();<br>
}<br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>-- <br> \
Wolfgang</p></body></html>



_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic