zoukankan      html  css  js  c++  java
  • Modify Branding of FreeCAD

    Modify Branding of FreeCAD

    eryar@163.com

    This article describes the Branding of FreeCAD. Branding means to start your own application based on FreeCAD. That can be only your own executable or splash screen till a complete reworked program. Based on the flexible architecture of FreeCAD it’s easy to use it as base for your own special purpose program.

    本文主要描述如何修改FreeCAD的Branding,从而使自己能基于FreeCAD灵活的架构快速开发出自己的应用程序。通过修改FreeCAD的Branding甚至启动画面,从而使程序看上去更像是自己开发的。

    Branding信息主要在文件MainCmd.cpp和MainGrui.cpp中,这两个工程生成了FreeCAD可执行文件。

    wps_clip_image-13903

    可以通过修改相关字符串,可以给可执行程序一个自己的名字,或者版本信息等的自定义,还有启动画面的自定义。

    int main( int argc, char ** argv )
     {
       // Name and Version of the Application
       App::Application::Config()["ExeName"] = "FooApp";
       App::Application::Config()["ExeVersion"] = "0.7";
     
       // set the banner (for loging and console)
       App::Application::Config()["CopyrightInfo"] = sBanner;
       App::Application::Config()["AppIcon"] = "FooAppIcon";
       App::Application::Config()["SplashScreen"] = "FooAppSplasher";
       App::Application::Config()["StartWorkbench"] = "Part design";
       App::Application::Config()["HiddenDockWindow"] = "Property editor";
       App::Application::Config()["SplashAlignment" ] = "Bottom|Left";
       App::Application::Config()["SplashTextColor" ] = "#000000"; // black
     
       // Inits the Application 
       App::Application::Config()["RunMode"] = "Gui";
       App::Application::init(argc,argv);
     
       Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);
     
       Gui::Application::initApplication();
       Gui::Application::runApplication();
       App::Application::destruct();
     
       return 0;
     }

    图片数据通过使用Qt的资源系统来编译到FreeCAD中去的。所以你需要写一个.qrc文件,将资源加到这个类似XML的qrc文件中。在程序中使用资源,需要在main()中添加下面一行:

    Q_INIT_RESOURCE(FooApp);

    如果你有XPM格式的图片,则可以直接使用:

    Gui::BitmapFactory().addXPM("FooAppSplasher", ( const char** ) splash_screen);

    改后效果如下图所示:

    wps_clip_image-1054

  • 相关阅读:
    Serverless 解惑——函数计算如何安装字体
    构建安全可靠的微服务 | Nacos 在颜铺 SaaS 平台的应用实践
    OAM v1alpha2 新版:平衡标准与可扩展性
    人工智能与阅读能力的关系研究
    Java Web每天学之Servlet的原理解析
    ThreadLocal类的简单使用
    JavaScript之DOM创建节点
    css浮动(float)及清除浮动的几种实用方法
    Apache Sentry部署
    Spark机器学习解析下集
  • 原文地址:https://www.cnblogs.com/opencascade/p/5475722.html
Copyright © 2011-2022 走看看