2013-01-17 65 views
4

我正在使用GTK + 2.0和開羅在C中編寫自定義應用程序。僅僅爲了學習目的(如果成功,然後進行部署),我希望重新創建類似於鼠標移動到窗口上的給定區域時出現的類似於覆蓋工具欄/控件(如果術語不正確)的東西(對不起,如果術語不正確) ,並在鼠標移開時消失。正如我想的那樣,工具欄應該出現在現有小部件的頂部,而不會以任何方式取代它們或更改小部件包裝。是否有可能完成?如果是的話,你能否指點我相關的教程/例子和/或概述一種方法來做同樣的事情? 在此先感謝。覆蓋GTK工具欄/部件

回答

6

不確定這在GTK2中很容易實現。不過,我最近了解到,有一個GtkLayout小部件可以像素精確地呈現小部件,所以您甚至可以在其他小部件上顯示一些小部件。或者你可以實現你自己的容器小部件。

請注意,自GTK3以來,有GtkOverlay似乎做你想做的。

你也可以看看Clutter,它可能會允許這樣做。此外,還有GTK和Clutter合併爲GTK 4的項目。

+0

感謝您的迴應:)。 – Chatter

2

鮮爲人知的GtkHandleBox能夠做你想做的事。我必須警告你,它在GTK + 3中被棄用,因爲它違背了通常的UI方向。此外,正確的定位將受到Windows管理員怪癖的影響,所以我期望在這方面有一些問題。

+0

我認爲將代碼導出到GTK3將是一個好主意。無論如何感謝信息。 – Chatter

+1

@Chatter:GtkHandleBox不是GTK3專用的,它也可以在GTK2上使用,但它已經在GTK3中被棄用了。 – liberforce