gpt4 book ai didi

c++ - GTK 窗口配置事件不传播

转载 作者:搜寻专家 更新时间:2023-10-31 00:49:28 25 4
gpt4 key购买 nike

我正在尝试在窗口移动时捕获 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);
...

这有效 - 移动窗口时会正确调用事件...但在调整窗口大小时也会调用它。这样做的副作用是不会像我没有连接事件时那样调整窗口子元素的大小。

根据 this table在 GTK 文档中,GDK_CONFIGURE 事件不会传播。如果事件没有传播,我如何在允许窗口正确调整大小的同时仍然检测到窗口的移动?

注意:我使用的是 GTK 版本 2.12.9

最佳答案

Luke,正如您所发现的,返回 FALSE 允许事件传播。这在 gtk 教程中进行了解释 here

关于c++ - GTK 窗口配置事件不传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1267354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com