4

GTK+2.0とCairoを使用してCでカスタムアプリケーションを作成しています。学習目的で(成功した場合は展開用に)、マウスがウィンドウの特定の領域に移動したときに表示されるオーバーレイツールバー/ウィジェット(用語が正しくない場合は申し訳ありません)に似たものを再現したいと思います。 、マウスが離れると消えます。ツールバーは、私が想像しているように、既存のウィジェットを移動したり、ウィジェットのパッキングを変更したりせずに、既存のウィジェットの上に表示されるはずです。達成することは可能ですか?はいの場合、関連するチュートリアル/例を示したり、同じ方法の概要を説明していただけますか?前もって感謝します。

4

2 に答える 2

6

これがGTK2で簡単に実行できるかどうかはわかりません。ただし、最近、ウィジェットをピクセル単位で正確にレンダリングできるGtkLayoutウィジェットがあることを知りました。そのため、一部のウィジェットを他のウィジェットの上に表示することもできます。または、独自のコンテナウィジェットを実装することもできます。

GTK3以降、GtkOverlayがあり、あなたが望むことを実行しているように見えることに注意してください。

クラッターを見て、これを可能にすることもできます。さらに、GTKとClutterをGTK4に統合するプロジェクトがあります。

于 2013-01-18T09:42:54.417 に答える
2

あまり知られていないGtkHandleBoxは、あなたが望むことをすることができます。通常のUIの方向に反しているため、GTK+3では非推奨になっていることを警告する必要があります。また、正しい位置はウィンドウマネージャーの癖の影響を受けるので、この点でいくつかの問題が予想されます。

于 2013-01-19T01:06:12.840 に答える