Modify Branding of FreeCAD

[email protected]

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可执行文件。

Modify Branding of FreeCAD

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

 

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); 

改后效果如下图所示:

Modify Branding of FreeCAD

相关文章:

  • 2021-10-20
  • 2022-02-20
  • 2021-06-13
  • 2021-05-25
  • 2021-12-04
  • 2021-07-16
  • 2021-08-26
  • 2022-12-23
猜你喜欢
  • 2021-12-26
  • 2022-12-23
  • 2021-11-04
  • 2021-04-04
  • 2022-12-23
  • 2021-12-08
相关资源
相似解决方案