Gtk/Rubyでボタンの機能を無効にするにはどうしたらいいんだ?と思ってgoogleってみたら、set_sensitive(false)を呼び出せばいいと判明。たしかに、ボタンは無効になったが、set_sensitive(true)に戻したときにボタンがマウスの上に来たときに押されたように描画されてしまうようになった...。asieさんに聞いてみたら、ボタンのpressedイベントのタイミングで行うのではなくて、clickedイベントのタイミングでset_sensitiveを呼び出さなければならないらしい。実際、イベントをpressedからclickedに変更してみたらちゃんと動作しました。asieさんに感謝。
しかし、Gtkはちゃんと理解しないと謎な挙動があったり、リファレンスが充実していないなあ。リファレンスとかが充実していたり、プログラミング支援機能が充実していないと、MSのVisual Studioにはなかなか追い付けません。開発に関するマイクロソフトの戦略や、支援の姿勢を良かれ悪かれ、多いに評価しているのです。
Gtk/Rubyでボタンの機能を無効にする方法 ボタンを無効にするには set_sensitive(false)を呼び出す ボタンを有効にするには set_sensitive(true)でよい。 ただし、ボタンのclickedイベントの中で定義しないとはまる。