1
나는 프로그래밍에 익숙하지 않은 약간의 프로그래밍 벙글러 다. 따라서 절박한 코딩과 일반적인 무지를 용서해주세요.콜백 함수 내에서 값에 액세스하기
CAD 모델의 한 지점에 액세스하는 API가있는 FreeCAD를 사용하고 있습니다.
class mySnapper:
def __init__(self):
self.point = None
def getPoint(self):
FreeCADGui.Snapper.getPoint(callback=self.clicked)
def clicked(self,point,extra):
self.point = point
print point
s = mySnapper()
s.getPoint()
print "point outside is:",s.point
print "~~~~"
이 나에게 다음과 같은 결과를 제공합니다
을점 밖에 : 없음
~~~~
벡터 (320.0, -3414.0, 168.15)
분명히 클래스 함수는 좌표 점이 선택되기 전에 반환됩니다 (그리고 언제 포인트 값은 "없음").
포인트가 선택되면 벡터 값이 인쇄되지만 이번에는 클래스 기능이 이미 반환되어 실제로 사용할 수 없습니다.
"클릭 된"콜백 함수 내에서 값에 액세스하려면 어떻게해야합니까? 업데이트 된 전역 변수를 인스턴스화 할 수 있습니까?
나는이 말이 희망...
감사합니다. 아니요, 프로그램이 수면 루프에 들어갈 때 멈 춥니 다. 이전에 프로그램은 사용자가 장면을 클릭하기를 기다렸습니다. –
다른 스레드에서 실행하는 것은 어떻습니까? –
다른 스레드? 나는 어떻게하는지 알지 못한다. –