我想知道哪个小部件在GTK +的给定方向上,即执行“移动焦点”信号的操作,但实际上没有改变焦点。我想到的是一个函数,它接受GtkWidget *和GtkDirectionType并返回给定方向的GtkWidget(如果有的话)。
我想要的是最终按照从左到右的顺序枚举我的UI定义中特定GtkFrame中的小部件。即基本上在我的GtkFrame内部(或者在一般情况下,在任何容器内)创建从最左边到最右边的小部件列表。
我试图搜索GTK文档,但没有找到任何不会改变焦点的内容。
答案 0 :(得分:1)
如果没有采用任何其他方法,我正在采用的方法是从GtkContainer的库实现中复制一组选定的静态函数,并将它们放在我自己的应用程序的文件中,根据我的需要进行修改。 / p>
更具体地说,函数gtk_container_focus_sort_left_right()和它依赖的任何本地函数。这包括GCompareFunc left_right_compare()和get_allocation_coords()。
答案 1 :(得分:0)
假设您关心的路线是"转发"和#34; Backward",听起来你想在框架上使用gtk_container_get_focus_chain()
:它几乎与它在锡上的内容相同:在标签时按焦点顺序获取小部件列表。