2

GTK2 を使用する Ruby で記述されたデスクトップ アプリケーションがあります。これは GTK2 で遊ぶための小さなテスト アプリケーションですが、やりたいことを達成するのに問題があります。GTK2 を使用して (タイトルの設定とは別に) タイトルバーにアクセスする方法はありますか? 具体的には、ボタンを追加する (下の図の最小/最大/etc の横にある B) か、メニューにオプションを追加します。タイトルバーのアイコン(下図のA)をクリックするとポップアップするのは?

代替テキスト

GTK は多くの異なるウィンドウ マネージャーで動作するように意図されているため、存在しない可能性があると考えていますが、存在するかどうか疑問に思いました。副次的な質問として、「十字」ボタンをクリックするとどのようなイベントが発生しますか? 現時点で、ユーザーがクリックしてもウィンドウは消えますが、プログラムは終了しません。そのイベントをキャプチャしてプログラムを終了する必要があります。

頭を殴ったり、私がどれほど愚かであるかを教えたりするなど、助けてくれてありがとう。

4

2 に答える 2

1

GTK 3.10 以降では、 を使用してこれが可能であることに注意してくださいgtk_window_set_titlebar()。ウィンドウマネージャのタイトルバーをカスタムのものに置き換えます。GtkHeaderBar使用するのに適したカスタム タイトル バー クラスです。

ただし、ユーザーが実行しているウィンドウ マネージャーがわからないため、ウィンドウ マネージャーと同じように表示することはできません。

于 2014-03-13T06:51:39.160 に答える
0

いいえ、タイトル バーはウィンドウ マネージャーによって所有されており、通常、直接アクセスすることはできません。

ユーザーがウィンドウ マネージャーのボタンをクリックしてウィンドウを閉じようとすると、ウィンドウはdelete イベントを受け取ります。

于 2010-09-23T09:32:17.350 に答える