子ボタンのクリックからスロットを削除しようとしましたが、機能しないようです。例えば
flow do
button("X") {parent.remove}
end
助言がありますか?
靴のブロックは時々トリッキーです。ここで重要なのは、呼び出されている親メソッドは何なのかを自問することです。 self
、 もちろん。ボタンではなく、アプリ(またはウィンドウ、またはダイアログ)を自己参照します。
これを回避するには、2 つの同様の方法があります。まず、ブロックで使用するボタンへの参照を作成できます。
flow do
a = button("X") {a.parent.remove}
end
または、スロット自体を参照することもできます。
b = flow do
button("X") {b.remove}
end