Gtk:禁止GtkWindow的垂直大小调整

Dan*_*iel 4 c gtk window-resize

我找不到如何做到这一点:(有gtk_window_set_resizable,但它会禁用调整大小,我仍然希望我的窗口水平调整大小.任何想法?

ser*_*nko 5

我相信您可以尝试使用gtk_window_set_geometry_hints函数并指定窗口的最大和最小高度.在这种情况下,您仍然可以允许宽度变化,而高度将保持不变.请检查以下示例是否适合您:

int main(int argc, char * argv[])
{
    gtk_init(&argc, &argv);
    GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    GdkGeometry hints;
    hints.min_width = 0;
    hints.max_width = gdk_screen_get_width(gtk_widget_get_screen(window));;
    hints.min_height = 300;
    hints.max_height = 300;

    gtk_window_set_geometry_hints(
        GTK_WINDOW(window),
        window,
        &hints,
        (GdkWindowHints)(GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE));

    gtk_widget_show_all(window);
    gtk_main();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

希望这有帮助,问候