我的GtkScrolledWindow上有size-allocate
信号回调。当我向该窗口添加内容时,我想向右滚动。这工作正常但在从该窗口中删除项目时引入了一个微妙的错误。我想在添加内容时只滚动窗口。我看到信号收到GdkRectangle,但我不确定如何使用它。
答案 0 :(得分:1)
首先尺寸分配信号先运行,这意味着,如果我没错,则在默认处理程序之前。因此,您可以使用gtk_widget_get_allocation获取窗口小部件的 GdkRectangle ,并将其与新窗口进行比较。 现在 GdkRectangle 是 cairo_rectangle_int_t ,其定义是:
typedef struct {
int x, y;
int width, height;
} cairo_rectangle_int_t;
所以你可以检查宽度和高度。