【问题标题】:Qt4 QGraphicsScene mac ppc 10.4 rendering bug, rects hide later lines?Qt4 QGraphicsScene mac ppc 10.4渲染错误,rects隐藏后面的行?
【发布时间】:2009-06-09 16:39:20
【问题描述】:

当您 addRect ... 然后 addLine ... 到 QGraphicsScene 时,您会期望在矩形上绘制线条,对吗?在 Qt 4.4.3、mac ppc 10.4.11 中,some 行不是,在下面的测试用例中。我想这是一个 Qt / mac lib / 显卡交互 (版本炎疾病)所以会感谢任何能说“它在......中很干净”的人。
谢谢,干杯

// 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
// denis-bz-gg@t-online.de 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();
}

【问题讨论】:

    标签: macos qt4 rendering


    【解决方案1】:

    来自:David Boddie trolltech.com>
    主题:回复:回复:QGraphicsScene addLine、addRect 绘制顺序在 Mac 上的 Qt 4.4.3 中乱码?
    新闻组:gmane.comp.python.pyqt-pykde
    日期:格林威治标准时间 2009-06-09 14:41:06

    2009 年 6 月 9 日星期二 10:41:37 BST,丹尼斯写道:

    错误:Qt 4.4.3 + mac 中以前的 addRects 也隐藏了一些 addLines, 在 C 和 PyQt 中有所不同

    我认为不能保证绘制对象的顺序 与它们的创建顺序相同。

    这很不幸,因为这意味着绘制顺序是任意的。 我倾向于设置对象的 Z 值以确保它们被绘制在 我期望的顺序。

    大卫

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-27
      • 2013-03-15
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多