我用 GtkVBox 和 GtkViewPort 创建了一个列表。
我正在通过两个上/下 GtkButtons 滚动。
GtkAdjustment* adjustment;
adjustment = gtk_viewport_get_vadjustment(GTK_VIEWPORT(viewport_ptr));
gtk_adjustment_set_value(adjustment, gtk_adjustment_get_value(adjustment)+(gdouble)SCROLL_SIZE);
gtk_widget_show_all(viewport_ptr);
Run Code Online (Sandbox Code Playgroud)
但是当我将小部件添加到 VBox 时,它会在我使用时添加到 VBox 的末尾gtk_box_pack_start。所以我想将视口滚动到列表底部的这个新添加的最后一个小部件。
您是否尝试将调整设置为最大值:
gtk_adjustment_set_value(adjustment, gtk_adjustment_get_upper(adjustment));
Run Code Online (Sandbox Code Playgroud)
请注意,您可能需要延迟此操作,或从合适的事件中触发它,因为随着滚动的 vbox 增长,上限会发生变化。
我的建议是将它挂接到GtkVBox的大小分配信号中。
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |