如何在等待程序启动混乱/ GTK+时制作加载/介绍动画弹出窗口
How to make a loading/intro animation popup while waiting for program to start up clutter/GTK+
我的程序需要几秒钟才能启动。 我正在为 GUI 使用混乱,我决定尝试弹出一些东西来指示程序正在启动。 我只想弹出并旋转一个徽标,然后在程序启动时消失。
所以在混乱中,我想我可以在主函数的第一部分中制作一个新的舞台(窗口)添加一个 actor,让 and actor 旋转。 窗口将立即弹出,但没有内容,但在启动杂乱主循环之前,内容不会显示。
所以我只是想知道如何使用杂乱或 GTK+ 来实现这一点。
如果你熟悉收割者4,录音程序,这个程序做一些类似于我想挖的东西。
您想要的称为初始屏幕。我不熟悉杂乱,但我找到了这个 GTK 初始屏幕示例。
但是,我认为您以错误的方式解决问题。初始屏幕是一个坏主意,因为您只会增加开销。您需要通过执行一些 CPU 和/或 IO 分析来提高启动性能。按需加载东西,而不是一次全部加载会有所帮助。
不幸的是,
我不熟悉杂乱。但是我很确定,如果没有在任何高级库中运行主循环,就很难渲染动画。我会尝试将导致延迟的代码放入单独的线程中,并在启动完成后通知主循环。
我使用的是这样的东西:
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 ();
尤其是待处理事件的最后一部分是关键
相关文章:
- std::原子加载和存储都需要吗
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 如何使用tinyxml2从XML加载父实体和子实体
- 如何在C++中使用pybind11加载一个pickle python列表
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 当我尝试加载内核模块时,如何修复C++中的这个 malloc() 错误?
- 试图用c++制作一个动画加载圈
- 是否可以在QT GUI应用程序中处理事件时播放加载动画指示器?
- QML:设置动画图像源,而不加载资源中的文件
- 不规则的模型加载/动画
- 如何加载和显示动画png
- 通过Cocos2dx中的plist文件加载动画
- 如何在等待程序启动混乱/ GTK+时制作加载/介绍动画弹出窗口
- 如何在用c++编写的控制台应用程序中制作加载动画
- DrawIconEx和DrawIcon只绘制非动画的加载图标
- 不要加载网格和动画的名称
- 在Cocos2dx中加载动画中使用的同一SpriteFrame时减慢速度