一、GtkStack
GtkStack
是 GTK(GIMP Toolkit)库中的一个容器类,用于管理多个子窗口部件(widgets),但在任何给定时间内只显示其中一个。`GtkStack` 提供了一种在同一个空间位置显示不同内容的方式,通常与 GtkStackSwitcher
或其他形式的导航控件结合使用,以便用户可以在堆叠的子窗口部件之间切换。
以下是如何使用 GtkStack
的简单示例:
1. 创建窗口和堆栈
首先,需要创建一个窗口和 GtkStack
的实例:
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
gtk_init(&argc, &argv);
// 创建一个新的窗口
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "GtkStack 示例");
gtk_window_set_default_size(GTK_WINDOW(window), 400, 300);
// 创建一个 GtkStack
GtkWidget *stack = gtk_stack_new();
gtk_stack_set_transition_type(GTK_STACK(stack), GTK_STACK_TRANSITION_TYPE_SLIDE_LEFT_RIGHT);
gtk_stack_set_transition_durat