我如何像 Gedit 中的打开菜单那样创建一个菜单?

How do I a menu like the open menu from Gedit?

我正在创建一个应用程序,并希望有一个下拉菜单来搜索文件,就像 Gedit 中的打开菜单一样。我需要什么小部件才能做到这一点?

我试过菜单小部件,但找不到使搜索起作用的方法。

注意:我在 Gedit 源代码中找不到打开菜单的位置。

GTK 没有提供开箱即用的小部件来实现 gedit "Open" 菜单按钮:

Gedit 在自己的代码库中实现它,使用 GtkMenuButton that opens a GtkPopover widget containing a GtkSearchEntry, for the input field used for search, and a GtkTreeView for showing the search results. Plus, a GtkButton at the bottom to launch a GtkFileChooserDialog 以便 select 更多文件。

使用从默认 GtkRecentManager 收集的最近使用的文件列表填充树视图的模型;您可以获得所有最近使用的文件的列表,并按应用程序名称过滤它们;之后,您可以使用搜索条目的内容过滤它们。

如果您想了解更多有关如何构建 GTK 应用程序的信息,您应该使用 GTK inspector,它由 GTK 本身作为调试和开发工具提供。