PyQt4 将变换矩阵作为参数传递给构造函数

PyQt4 pass transformation matrix as argument to constructor

我正在为 PyQt4 编写一个小部件,项目风格指南规定我通过构造函数中的 kwargs 传递 Qt 元素的静态属性。

不幸的是,我无法为我想传递的 属性 找到正确的 kwarg 名称。

我当前的实现如下所示:

self.scene = QtGui.QGraphicsScene(self)
self.view = QtGui.QGraphicsView(self.scene, self.mainArea)

# Flip y axis for sane drawing
matrix = QtGui.QMatrix()
matrix.scale(1, -1)
self.view.setMatrix(matrix)

我想找到一种通过 QGraphicsView 构造函数传递 matrix 的方法,如果可能的话。

我试过以下方法

self.view = QtGui.QGraphicsView(self.scene, self.mainArea, matrix=matrix)
self.view = QtGui.QGraphicsView(self.scene, self.mainArea, transform=matrix)

但这两个实例都告诉我它们是未知的关键字参数。我不确定这是否可以通过构造函数实现,但我无法在任何地方找到明确的答案。

我也不清楚 Qt 元素的 "static properties" 到底是什么。

您确定您已正确理解风格指南吗?我怀疑它是否期望您使用 kwargs 设置每个可能的 class 每个可能的 属性。 QGraphicsView class 有 eighty properties。你认为 Qt 会用 80 个可选参数定义构造函数是合理的吗?

我认为指南更有可能只是要求您使用 kwargs 只要它们可用。否则,您应该只使用 属性 setter 函数。

PS:

无论如何,QGraphicsViewmatrix 不是 属性,因此对于您的具体示例,这一点没有实际意义。