의 다른 클래스에서 함수를 호출하는 방법 I가 (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의 변수는 무엇입니까?
진실하게, 당신은 모든'addpoint()'이후에 앱이'saveFile()'을 할 필요가 있다고 생각합니까? 특히 점이 사용자에 의해 대화식으로 생성되는 경우 느리게 들립니다. – martineau
각 다각형에는 약 4-10 점이 있습니다. 다각형이 완성되면 저장하고 있습니다. 코드에 포함시키지 마십시오. – zsero