2009-06-09 7 views
1

addRectを押してからaddLine ...をQGraphicsSceneに追加すると、線がrectに描画されるのを期待できますか? Qt 4.4.3で、mac ppc 10.4.11、の行は、以下のテストケースではありません。私はこれがQt/macのlib/graphicsカードの相互作用 (バージョン炎の病気)であると想像しています。
おかげで、からは歓声Qt4 QGraphicsScene mac ppc 10.4レンダリングのバグ、rects後の行を隠す?

// QGraphicsScene mac rendering bug: some addLines are hidden by previous addRects 
    // C: 150 line is hidden under most rects, others ok 
    // pyqt: other lines are hidden 
// qt-mac-opensource-src-4.4.3 PyQt-mac-gpl-4.4.4 macosx 10.4.11, ppc, GEForce2 mx 
// [email protected] 9jun 

#include <cmath> 
#include <QtGui> 

int main(int argc, char* argv[]) 
{ 
    qDebug() << "qVersion:" << qVersion(); 
    QApplication app(argc, argv); 
    int Size = 10; // changes what's hidden 
    int x0 = -500, y0 = -500, x1 = 500, y1 = 500; 
    QRectF scenerect(x0, y0, x1, y1); 
    QGraphicsScene* scene = new QGraphicsScene(scenerect); 
    QGraphicsView* view = new QGraphicsView(scene); 
    view->centerOn(100, 100); // ? 

    for(int j = x0/2; j < x1/2; j += Size){ 
    for(int k = y0/2; k < y1/2; k += Size){ 
     scene->addRect(j, k, Size-1, Size-1, Qt::NoPen, QBrush("palegreen")); 
    } 
    } 
    for(int angle = 0; angle < 180; angle += 30){ 
     float c = cos(angle * M_PI/180) * x1; 
     float s = sin(angle * M_PI/180) * y1; 
     scene->addLine(-c, -s, c, s, QPen("black")); 
    } 

    view->show(); 
    return app.exec(); 
} 

答えて

0

:デビッドBoddie trolltech.com>
件名:再:再:QGraphicsScene addLine、addRect Mac上のQt 4.4.3でスクランブル順番を描きますか?
ニュースグループ:gmane.comp.python.pyqt-pykdeは
日付:2009-06-09午後2時41分06秒GMT

2009火6月9日10時41分37秒BSTで、デニスは書きました:

バグ:いくつかのaddLinesがあまりにもQtの4.4.3 +マックの前のaddRectsによって隠されている、CとPyQtは

で異なっ

私は、オブジェクトが描画される順序があることが保証されているとは思いません これらの順序は同じです作成した。

これは描画順序が任意であることを意味するため、残念です。 オブジェクトのZ値を、私が期待した の順序で描画されていることを確認するように設定する傾向があります。

デビット

関連する問題