Qt4 PySide:QPainter跨平台像素精度

时间:2014-03-07 04:44:13

标签: python qt

在尝试追踪我的两个目标平台(Linux和OSX)之间的渲染差异时,我发现在每个平台上渲染省略号的方式明显不一致。

以下是结果:Linux vs OSX

以下是我用来生成此程序的程序:

from PySide.QtGui import (QApplication, QGraphicsView, QGraphicsScene, 
                          QMainWindow, QPixmap, QPainter)
from PySide.QtCore import Qt
import sys

if __name__ == '__main__':
    app = QApplication(sys.argv)
    scene = QGraphicsScene()
    view = QGraphicsView(scene)
    view.scale(15, 15)

    pix = QPixmap(200, 50)
    pix.fill(Qt.white)
    p = QPainter(pix)
    p.setPen(Qt.black)
    for i in range(1, 10):
        p.drawEllipse(0, 0, i, i)
        p.translate(i+5, 0)
    p.end()
    pixItem = scene.addPixmap(pix)

    win = QMainWindow()
    win.setCentralWidget(view)
    win.resize(700, 200)
    win.show()

    sys.exit(app.exec_())

这是我的绘图方法的结果还是渲染引擎中的不兼容性?

我的目标是拥有一个可以准确着色像素的程序。例如,单独放大和着色像素或使用圆形“画笔”,为其中的一组着色(这就是我发现渲染差异的方式)。

有没有更好的方法来解决这个问题,而不是绘制像素图并依靠Qt正确缩放像素?

0 个答案:

没有答案