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)
明らかに、クラスポイントが選択される前にクラス関数が返されますポイント値は「なし」)。
ポイントが選択されると、ベクトル値が出力されますが、この時点でクラス関数はすでに返されているため、実際には使用できません。
「クリック」コールバック関数内の値にはどのようにアクセスできますか?更新されたグローバル変数をインスタンス化することは可能でしょうか?
私は値が設定されるまで
感謝を。いいえ、プログラムはスリープループに入るとハングアップします。以前は、ユーザがシーンをクリックするのを待っていました。 –
別のスレッドで実行するのはどうですか? –
別のスレッド?私はそれをどうやって行うのか分からない。 –