0

size-allocate我的GtkScrolledWindow 上有一个信号回调。当我向该窗口添加内容时,我想向右滚动。这可以正常工作,但在从该窗口中删除项目时会引入一个微妙的错误。我只想在添加内容时滚动窗口。我看到信号接收到 GdkRectangle 但我不确定如何使用它。

4

1 回答 1

1

第一个size-allocate信号run-first,这意味着,如果我没记错的话,在默认处理程序之前。因此,您可以使用gtk_widget_get_allocation获取小部件的GdkRectangle,并将其与新的进行比较。现在GdkRectangle是一个cairo_rectangle_int_t,它的定义是:

typedef struct {
    int x, y;
    int width, height;
} cairo_rectangle_int_t;

所以你可以用旧的检查宽度和高度。

于 2011-08-26T14:33:03.717 回答