Python 将值传递到不同的类
我有一个名为msg.data[2]的数据数组,其中我使用了pubsub,现在我想将此数据传递到PlotCanvasExample类中 这是我叫这个班的地方Python 将值传递到不同的类,python,Python,我有一个名为msg.data[2]的数据数组,其中我使用了pubsub,现在我想将此数据传递到PlotCanvasExample类中 这是我叫这个班的地方 self.pubsubText.SetLabel("This is the Contact Map for the chain "+msg.data[0]+" in the PDB file "+msg.data[1]) frame = self.GetParent() sizer = wx.BoxSizer(wx.VERTI
self.pubsubText.SetLabel("This is the Contact Map for the chain "+msg.data[0]+" in the PDB file "+msg.data[1])
frame = self.GetParent()
sizer = wx.BoxSizer(wx.VERTICAL)
self.canvas = PlotCanvasExample(self,0, size=(100,100))
sizer.Add(self.canvas,1,wx.EXPAND,0)
这是课程本身
class PlotCanvasExample(plot.PlotCanvas):
def __init__(self,parent,id,size):
plot.PlotCanvas.__init__(self,parent,id,style=wx.BORDER_NONE, size=(300,200))
self.data = [(1,2),(23,2)]
line = plot.PolyMarker(self.data)
gc = plot.PlotGraphics([line],"CM view", "x-axis","y axis")
self.Draw(gc, xAxis=(0,50), yAxis=(0,50))
如何将变量msg.data传入此类
我是python新手,所以解释一下如何操作会很好,这样我就可以理解下次如何操作了您可以将setData方法添加到PlotCanvasExample类中,并可能使用此方法
def setData(data):
self.data = data
或者,如果在创建对象时需要此参数,可以将此参数添加到PlotCanvasExample的init方法中
class PlotCanvasExample(plot.PlotCanvas):
def __init__(self,parent,id,size, data):
请尝试此代码
self.pubsubText.SetLabel("This is the Contact Map for the chain "+msg.data[0]+" in the PDB file "+msg.data[1])
frame = self.GetParent()
sizer = wx.BoxSizer(wx.VERTICAL)
self.canvas = PlotCanvasExample(self,0, size=(100,100), msg.data)
sizer.Add(self.canvas,1,wx.EXPAND,0)
class PlotCanvasExample(plot.PlotCanvas):
def __init__(self,parent,id,size, msgdata):
self.msgdata = msgdata
plot.PlotCanvas.__init__(self,parent,id,style=wx.BORDER_NONE, size=(300,200))
self.data = [(1,2),(23,2)]
line = plot.PolyMarker(self.data)
gc = plot.PlotGraphics([line],"CM view", "x-axis","y axis")
self.Draw(gc, xAxis=(0,50), yAxis=(0,50))
希望这有帮助
Andrew需要传递给类的参数应该放在
\uuuu init\uuu
函数中
下面是关于
代码行def\uuu init\uuu(self、parent、id、size):
是您需要更改以添加新参数的行
下次创建此类时,可以在self.canvas-PlotCanvasExample()中分配它
例如:
类别:
class PlotCanvasExample(plot.PlotCanvas):
def __init__(self,parent,id,size,data):
代码:
如果您是Python新手,我建议您浏览一下文档。另外,当在这里发布代码时,也可以看看它
:)
class PlotCanvasExample(plot.PlotCanvas):
def __init__(self,parent,id,size,data):
self.canvas = PlotCanvasExample(self,0, size=(100,100), msg.data[2])