gpt4 book ai didi

c - 如何在不显示的情况下获取最大化窗口的大小?

转载 作者:太空宇宙 更新时间:2023-11-04 03:03:06 26 4
gpt4 key购买 nike

我正在尝试确定最大化窗口的大小,以便将窗口大小设置为接近它的值。但是,如果不首先显示最大化窗口,我不知道该怎么做。有没有办法在显示窗口之前发出 gtk_window_maximize 生成的信号?

以下是我目前的尝试。问题是在调整大小之前我可以看到最大化窗口的闪烁。

#include <gtk/gtk.h>

int signal_id;

void resize(GtkWindow *window, GdkEvent *event, gpointer data)
{
gint width, height;

g_signal_handler_disconnect(G_OBJECT(window), signal_id);
gtk_window_get_size(window, &width, &height);
gtk_window_resize(window, width - 10, height - 10);
}


int main(int argc, char *argv[])
{
GtkWidget *window;

gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
signal_id = g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(resize), NULL);
gtk_window_maximize(GTK_WINDOW(window));
gtk_widget_show_all(GTK_WIDGET(window));

gtk_main();
return 0;
}

最佳答案

不,这是不可能的,因为在窗口管理器映射窗口之前,实际大小是未知的。但是您可以做的是获取屏幕尺寸:

width=gdk_screen_width();
height=gdk_screen_height();
gtk_widget_set_size_request(window, width/2, height/2);

关于c - 如何在不显示的情况下获取最大化窗口的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9072947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com