我有以下 Python 程序大纲(使用 PyQt4):
class Polygon( QtGui.QGraphicsItem ):
def __init__(self):
super(Polygon, self).__init__()
def addpoint( self, point ):
if last_point:
# trying to add auto-save here
class MainWidget(QtGui.QWidget):
openFileName = ""
list_of_polygons = []
def __init__(self):
super(MainWidget, self).__init__()
def openFile( self ):
call dialog
self.openFileName = ...
def saveFile( self ):
# needs to access a couple something with self.variables, like self.openFileName
def main():
app = QtGui.QApplication(sys.argv)
ex = MainWidget()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
功能是一个图像查看器,我在其中创建多边形来标记对象。创建多边形后,我想调用自动保存。
所以为了保存一个多边形,我需要从saveFile
函数MainWidget
类中调用它。我的问题是保存功能是在 MainWidget 类中实现的,我不知道如何从Polygon
类内部访问它们。
这样做最好的主意是什么?我应该将 saveFile 设为全局吗?如果是,那么我如何访问自我。MainWidget 的变量?