gtk4 窗口 居中
时间: 2024-09-17 07:07:23 浏览: 52
【GTK4】C语言生成新春福字 示例程序
GTK4是一个用于构建图形用户界面(GUI)的跨平台工具包,它通常用于Vala或C语言中。在GTK4中,让窗口居中可以使用`gtk_window_set_default_size()`函数设置默认大小,并结合`gtk_window_position()`调整窗口位置。下面是一个简单的例子:
```c
#include <gio/gio.h>
#include <gtk/gtk.h>
void on_window_destroyed(GtkWidget* widget, gpointer data) {
gtk_main_quit();
}
int main(int argc, char** argv) {
GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "中心化窗口");
gtk_window_set_default_size(GTK_WINDOW(window), 600, 400); // 设置窗口默认大小
// 居中窗口
gint screen_width, screen_height;
gdk_screen_get_size(gdk_display_get_default(), &screen_width, &screen_height);
int x = (screen_width - gtk_widget_get_allocation(window)->width) / 2;
int y = (screen_height - gtk_widget_get_allocation(window)->height) / 2;
gtk_window_move(GTK_WINDOW(window), x, y);
g_signal_connect(window, "destroy", G_CALLBACK(on_window_destroyed), NULL);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
```
在这个示例里,我们首先创建一个顶级窗口,然后计算屏幕尺寸并确定窗口的位置以使其居中。当窗口关闭时,`on_window_destroyed`回调会触发程序退出。
阅读全文