阅读GTK+教程时,我想在移动窗格句柄时打印出一条消息,并打印出它的位置。所以。。。
g_signal_connect(G_OBJECT(hpaned), "move-handle", G_CALLBACK(resized), GTK_PANED(hpaned));
...
void resized(GtkPaned *paned)
{
g_message("Something like %d!", gtk_paned_get_position(paned));
}
除了只有当我按下滚动键(箭头,页面键等)时才打印出位置。基于documentation,这很有意义。。。但是,从点击和拖动事件中获取信号怎么样?当然,这是一种比用箭头键移动窗格更常见的调整窗格大小的方法吗?
最佳答案
正如文档所指出的,move-handle
是一个keybinding signal,这不是您想要的。要观察句柄的所有移动,请连接到position
属性的通知信号:
g_signal_connect(G_OBJECT(hpaned), "notify::position",
G_CALLBACK(resized), GTK_PANED(hpaned));