コードの実装を求めているわけではありませんが、GTK+ のスキルセットを考えると、抽象的な観点から、各四角がクリック可能などのグリッドを実装する最良の方法は何でしょうか?
3 に答える
個人的にこれを行うには、テーブルを使用します - http://library.gnome.org/devel/gtk/stable/GtkTable.html - ボタンで埋めます - http://library.gnome.org/devel/gtk/ stable/GtkButton.html . そこから、ボタンをボタンのように見せたくない場合は、レリーフを設定します - http://library.gnome.org/devel/gtk/stable/GtkButton.html#gtk-button-set-relief -なしに。
このようにすると、各要素が同じサイズのグリッドが得られ、グリッド内の項目をクリックするとイベントがトリガーされます。
上記では、グリッドに複数の行があることを前提としています。行が 1 つだけの場合は、GtkHButtonBox - http://library.gnome.org/devel/gtk/stable/GtkHButtonBox.htmlを使用することをお勧めします。 - または GtkVButtonBox - http://library.gnome.org/devel/gtk/stable/GtkVButtonBox.html。
グリッドの主な構成に GtkTable を使用するという mlowen の提案を 2 番目に使用します。グリッドのような外観を得るのは非常に簡単です。ボタンの組み込みの描画が必要ない場合は、各セルにプレーンなGtkEventBoxを設定することも検討する必要があります。
イベントボックスは非表示のウィジェットで、基本的にウィンドウを追加し、カバーされた領域をクリック可能にします。GTK+ の「サイレント」ウィジェットの一部をよりインタラクティブにするのに便利です。たとえば、クリック可能にするためにGtkLabelの背後で一般的に使用されます。ラベルがニーズに十分な描画機能を提供する場合は、それも継続できる方法です。