Lablgtk には、(少なくとも) 3 種類のウィンドウ名付きモジュールがあります。
- Gdk.ウィンドウ
- GtkWindow
- Gウィンドウ
それらの違いは何ですか?どうすれば別の場所に移動できますか?
GTK はもともと X11 システム用でした。X11 では、「ウィンドウ」は、描画してイベントを選択できる長方形の領域です。画面全体の上部にある「ルートウィンドウ」を使用して、ツリーにネストできます。AGdk.window
は X11 ウィンドウの薄いラッパーですが、X11 以外のバックエンドをサポートするのに十分抽象的です。
GTK ウィンドウは、ユーザーがウィンドウと考えるものです。タイトルや境界線などを含むサイズ変更可能な画面領域です。実際、これはおそらく、タイトルと境界線を含むウィンドウ マネージャーによって提供される X11 ウィンドウと、別の X11 ウィンドウです。コンテンツ領域のウィンドウ。この内部ウィンドウには、サブウィンドウ (各ボタンに 1 つなど) が含まれる場合があります。しかし、最近の GTK は通常、サブウィンドウを気にせず、ちらつきを避けるためにすべてを自分で管理していると思います。
AGtk.window Gtk.obj
は、GTK C ライブラリによって提供される C オブジェクトを表します。C ライブラリによって公開されている関数は、 で使用できますGtkWindow.Window
。
ただし、C オブジェクトは通常、オブジェクトGWindow.window
指向 OCaml API を提供するためにクラスによってラップされます。
gtk_window#misc#window
から GDK ウィンドウを取得するために使用しますGWindow.window
。