トップ «前の日記(2005-09-20) 最新 次の日記(2005-09-22)» 編集

ORCA愉快日記

2004|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|10|11|12|
2012|01|02|09|
2013|04|

2005-09-21 Gtk/Rubyでボタンを無効にする

_ [Linux] Gtk/Rubyでボタンを無効にする

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イベントの中で定義しないとはまる。

トップ «前の日記(2005-09-20) 最新 次の日記(2005-09-22)» 編集