我试图捕获窗口移动时GTK窗口上的事件。我做这样的东西,看起来像这样:GTK窗口配置事件不传播
void mycallback(GtkWindow* parentWindow, GdkEvent* event, gpointer data)
{
// do something...
}
...
GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_add_events(GTK_WIDGET(window), GDK_CONFIGURE);
g_signal_connect_(G_OBJECT(window), "configure-event", G_CALLBACK(mycallback), NULL);
...
该工程─当移动窗口时正常称作......但是,当窗口大小它也被称为。这有一个副作用,就是不调整窗口的子元素的大小,因为如果我没有连接事件,它们就会变成这样。
根据GTK文档中的this table,GDK_CONFIGURE事件不会传播。如果事件没有传播,我怎样才能检测窗口的移动,同时允许它正确调整大小?
注:我使用GTK版本2.12.9
恐怕这是错误的方法。返回true表示停止进一步传播信号。 – 2017-05-26 14:30:59
@underscore:我的错。我应该检查。 – neuro 2017-05-29 08:31:41