阅读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));

08-15 22:37