在尝试追踪我的两个目标平台(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正确缩放像素?