gpt4 book ai didi

c - 在 gtk 中,如何切换到具有新按钮和其他小部件的新屏幕,但在同一窗口中?

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:24 25 4
gpt4 key购买 nike

在 gtk 中,我正在尝试制作一款游戏,该游戏在显示主菜单之前以大字母显示创作者 3(三)秒。我知道函数 DisplayMainMenu 没有任何问题。出于某种原因,这使得它永远只显示 Asadefa 屏幕。我该如何解决?

#define NOTHING
#define EMPTYSTRING "\0"

int main(int argc, char *argv[]) {
gtk_init (&argc, &argv);
Window = gtk_window_new(0);
Box = gtk_hbox_new(00, 00);

gtk_window_set_position(GTK_WINDOW(Window), 1);
gtk_window_set_default_size(GTK_WINDOW(Window),800, 500);
gtk_window_set_title(GTK_WINDOW(Window), "Fakecraft" );
g_signal_connect(Window, "destroy", gtk_main_quit, NULL);
gtk_container_set_border_width(GTK_CONTAINER(Window),16);

char *TXT=("<span font=\"72\">ASADEFA </span>");
GtkWidget (*Label) = gtk_label_new(EMPTYSTRING);
gtk_container_add(GTK_CONTAINER(Window), Box);
gtk_container_add(GTK_CONTAINER(Box), Label);
gtk_label_set_markup(GTK_LABEL(Label), TXT);

gtk_widget_show_all(Window);
gtk_main( NOTHING NOTHING );

sleep(3);

DisplayMainMenu();
return 0;
}

最佳答案

不要使用 sleep 。 GTK+ 使用事件循环对事件使用react,因此在调用 gtk_main_quit 之前您不会到达您的 sleep 调用,这已经太晚了。你应该使用 g_timout_add_seconds而不是添加一个事件源,该事件源将在 3 秒后调用您的回调。在该回调中,您可以调用 DisplayMainMenu 函数。

关于c - 在 gtk 中,如何切换到具有新按钮和其他小部件的新屏幕,但在同一窗口中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54896585/

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