0

GtkTreeViewウィンドウ内に が含まれる Glade GUI 記述ファイルがGtkHBoxあります。シグナルのハンドラーがありrow_activatedます。現在、Glade はそのツリービューの「イベント」プロパティ (から継承GtkWidget) を何らかの値 ( GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK) に自動的に設定しました。そして、これには2つの奇妙なことがあります:

  • (プロパティが空になるように)事前設定された値を削除しても、アプリケーションが壊れないようです(少なくとも、私が持っている古いGTK 2.10ではそうではありません)。
  • 実際、私が以前見た迷惑なバグ (ツリービュー項目がクリックの展開または折りたたみに正しく反応しない) はなくなりました!

events私はまだ新しい GTK バージョンでこれをテストしていませんが、問題はすでにそこにあります: このプロパティの正確な目的は何ですか? また、Glade が自動的かつ不必要に値を設定するのはなぜですか? これには、私が気付いていない副作用がありますか?

4

3 に答える 3

1

これは、glade のバグです。作成したウィジェットのイベント プロパティを常に設定します。プロパティのデフォルト値の概念がないため、常に設定されます。

于 2008-11-28T15:25:42.603 に答える
0

me.yahoo.com/a/kUQ7zeQ: ただし、前述のようにプロパティを空の文字列に設定してもrow_activated、行をダブルクリック (または Enter または Space を押す) すると、ハンドラーが呼び出されます。したがって、ツリービューは引き続きイベントを取得します...

于 2008-09-15T17:41:36.513 に答える
0

このマスクは、あなたが受け取りたいイベントを示していませんか? この場合、ユーザーが GtkTreeView 内のアイテムをクリックまたはダブルクリックしたという通知を受け取りたいと思うでしょう。これらのイベントを処理するためにコールバックを登録したいと思うでしょう。

于 2008-09-15T17:27:12.803 に答える