我想设置一个全局对象“view”,它有一个class方法 我怎样才能实现它。
我用
V = View(self)
V = View(QGraphicsView)
V = View()
一切都失败了
当我使用第三种类型时,编译器消息:
__init__() missing 1 required positional argument: 'parent'
以下是我的班级要打电话:
class View(QGraphicsView):
def __init__(self, parent):
QGraphicsView.__init__(self, parent)
self.setScene(QGraphicsScene(self))
self.setSceneRect(QRectF(self.viewport().rect()))
def mousePressEvent(self, event):
if can_draw == 1 :
self._start = event.pos()
def mouseReleaseEvent(self, event):
if can_draw == 1:
start = QPointF(self.mapToScene(self._start))
end = QPointF(self.mapToScene(event.pos()))
self.scene().addItem(
QGraphicsLineItem(QLineF(start, end)))
通过编写
def __init__(self, parent):
,可以强制视图具有父视图。你知道吗Qt小部件不必有父级(当您使用
setParent()
、布局等将小部件添加到另一个小部件中时,它将自动设置)。你知道吗您可以通过写入
def __init__(self, parent=None):
向父参数添加默认值。 然后,使用V = View()
在实例化类时,如果不包含参数,就不能在
__init__
中包含参数。你知道吗您必须:
然后你可以通过
然后你可以访问它的方法
相关问题 更多 >
编程相关推荐