0
#!/usr/bin/python
import MainPanel
import wx

########################################################################
class OtherFrame(wx.Frame):##open PDB frame
    """"""

    #----------------------------------------------------------------------
    def __init__(self):
        """Constructor"""
        wx.Frame.__init__(self, None, wx.ID_ANY, "Secondary Frame")
        panel = wx.Panel(self)##create panel

        chain = wx.Button(panel, label = "OK", pos=(100,80),size=(53,25))##button create
        self.Bind(wx.EVT_BUTTON,self.getchain,chain)##bind event to button go to getchain method


    def getchain(self,event):
    global flag
    flag = 1


import OtherFrame

#######
class MainPanel(wx.Panel):##main frame
    """"""

     #----------------------------------------------------------------------
    def __init__(self, parent, size = (5000,5000)):
        """Constructor"""
        wx.Panel.__init__(self, parent=parent, size = (5000,5000))
        self.frame = parent

        Publisher().subscribe(self.showFrame, ("show.mainframe"))

    def showFrame(self, msg):

    #------------------------------------------------------------------
        def createfigure():

       OtherF = OtherFrame.OtherFrame()
       OtherF.getchain()
       print flag

まず、コードが 1000 行を超えているため、コードを大幅に短縮しました。私がやりたいことは、で宣言された変数を取得し、getchainそれらを で使用することdef createfigureです。彼らは異なるクラスの出身です。現時点でエラーが発生していますどこで間違っているのか、使用している変数を取得して使用getchain() takes exactly 2 arguments (1 given) する方法を誰かに教えてもらえますかdef getchain(self,event)def createfigure

4

2 に答える 2

-1

メソッドが Python でパラメーターとして「self」を使用するように定義されている場合、メソッドが適用されるオブジェクトは暗黙的にパラメーターとして渡されます。次に、宣言するその他のパラメーターは、括弧内に明示的に指定する必要があります。提供した抜粋の最後から 2 行目では、必須パラメーター「イベント」を指定していません。

于 2013-05-01T20:17:12.413 に答える