我正在为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)
我希望找到一种方法将matrix
传递给QGraphicsView
构造函数,如果可能的话。
我试过以下
self.view = QtGui.QGraphicsView(self.scene, self.mainArea, matrix=matrix)
self.view = QtGui.QGraphicsView(self.scene, self.mainArea, transform=matrix)
但这两个实例都告诉我它们是未知的关键字参数。我不确定这是否可以通过构造函数实现,但我无法在任何地方找到明确的答案。
我也对#34;静态属性" Qt元素正是如此。
答案 0 :(得分:1)
您确定您已正确理解风格指南吗?我怀疑它希望你使用kwargs设置每个可能的类的所有可能属性。 QGraphicsView
班级有eighty properties。您是否认为Qt使用 80 可选参数定义构造函数是否合理?
我认为该指南更有可能只是要求您在任何可用的地方使用kwargs 。否则,您应该只使用属性setter函数。
PS:
QGraphicsView
的{{3}}无论如何都不是属性,所以对于您的具体示例,这一点没有实际意义。