1

我的程序需要几秒钟才能启动。我在 GUI 上使用混乱,我决定尝试弹出一些东西来表明程序正在启动。我只想让徽标弹出并旋转,然后在程序启动时消失。

所以在混乱中,我想我可以在主函数的第一部分创建一个新的舞台(窗口)添加一个演员,让演员旋转。该窗口将立即弹出,但没有内容,但在您启动混乱的主循环之前不会显示内容。

所以我只是想知道如何使用 clutter 或 GTK+ 来实现这一点。

如果你熟悉 reaper 4,录音程序,这个程序做的事情类似于我想做的事情。

4

3 回答 3

2

您想要的称为启动画面。我对混乱不熟悉,但我发现了这个GTK 闪屏示例

但是,我认为您以错误的方式处理问题。启动画面不是一个好主意,因为您只是增加了开销。你需要的是通过做一些 CPU 和/或 IO 分析来提高你的启动性能。按需加载东西,而不是一次全部加载会有所帮助。

于 2012-04-12T08:16:00.727 回答
1

不幸的是,我对 Clutter 不熟悉。但我很确定如果没有在任何高级库中运行的主循环,将很难渲染动画。我会尝试将导致延迟的代码放入单独的线程中,并在启动完成时通知主循环。

于 2012-04-11T23:54:02.330 回答
0

我使用的是这样的东西:

string splashfile = path_templ + "/splashimg.png";

GtkWidget *image=gtk_image_new_from_file(splashfile.c_str());
gtk_container_add(GTK_CONTAINER(SplashWindow), image);


gtk_widget_show_all(SplashWindow);

//Cycle through all iterations (refresh everything in the GUI)
while (gtk_events_pending()){
    gtk_main_iteration();
}
sleep(1);

(... rest of code ...)

gtk_main ();
gdk_threads_leave ();

尤其是等待事件的最后一部分是关键

于 2013-09-01T10:50:30.737 回答