блоки обуви иногда хитро . Ключевым моментом здесь является спросить себя, для чего вызывается родительский метод? self
, конечно. И сам ссылается на приложение (или окно, или диалог), а не на кнопку.
Есть два похожих способа обойти это. Сначала вы можете создать ссылку на кнопку для использования в блоке:
flow do
a = button("X") {a.parent.remove}
end
Или, вы можете просто сослаться на сам слот:
b = flow do
button("X") {b.remove}
end