#!/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
使用在函數中聲明的變量並將它們用於不同類中的另一個函數中
你縮進看起來像它需要一點幫助;我會自己糾正它,但如果這是您的原始代碼的外觀,它也需要在那裏糾正。此外,你的問題似乎是你沒有將'event'傳遞給你的'OtherF.getchain()'調用。你在問怎麼才能訪問這個'event'? – BlackVegetable 2013-05-01 20:15:10