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.

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

目录
相关文章
【资源分享】阿里云盘资源永久汇总页
不知道大家的阿里云盘现在有多少容量了?阿里为了资源也为了网盘活跃度,在九月推出限时活动,分享赢10T容量。因此带来了这一波的阿里盘分享热潮,当然大部分人都是奔着10T去的。所以网上资源翻来覆去的很多,重复的也多。正因如此空空发现了一位网友非常的有心,将分享出来网盘资源进行了梳理汇总,并且搭建了这个终极阿里云盘资源整合网站——【阿里云盘资源永久汇总页】。
237446 11
【资源分享】阿里云盘资源永久汇总页
|
Java 测试技术 Apache
【Maven】常用命令、插件管理、私服nexus
【Maven】常用命令、插件管理、私服nexus
179 0
|
6月前
|
机器学习/深度学习 人工智能 编解码
Step-Video-TI2V:开源视频生成核弹!300亿参数+102帧电影运镜
Step-Video-TI2V 是阶跃星辰推出的开源图生视频模型,支持根据文本和图像生成高质量视频,具备动态性调节和多种镜头运动控制功能,适用于动画制作、短视频创作等场景。
343 0
Step-Video-TI2V:开源视频生成核弹!300亿参数+102帧电影运镜
|
消息中间件 JSON 自然语言处理
Python多进程日志以及分布式日志的实现方式
python日志模块logging支持多线程,但是在多进程下写入日志文件容易出现下面的问题: PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。 也就是日志文件被占用的情况,原因是多个进程的文件handler对日志文件进行操作产生的。
|
数据可视化 关系型数据库 MySQL
Docker可视化工具-Portainer
Docker可视化工具-Portainer
362 1
蓝桥杯嵌入式第十一届(第一场)省赛
蓝桥杯嵌入式第十一届(第一场)省赛
353 1
|
存储 边缘计算 安全
边缘计算中的数据安全与隐私保护:挑战与应对策略
边缘计算中的数据安全与隐私保护:挑战与应对策略
|
数据挖掘
SPSS时间序列分析:谱分析
SPSS时间序列分析:谱分析
320 0
|
小程序 搜索推荐
计算机毕设选题-基于微信小程序的四六级小程序
重要的事情说三遍,可白嫖,可白嫖,可白嫖!!! 源码下载链接:docs.qq.com/doc/DYm5DSlBWZEplalBP 基于微信小程序的四六级助手,包括管理端和小程序端两部分。管理端包含单词管理、翻译管理、写作管理、资料管理、资讯管理和听力管理六个模块,可以实现对相关内容的上传和管理。小程序端包括首页、资讯、单词和我的四个模块,可以帮助用户进行听力练习、翻译文章和写作文章的查看,单词的学习和错题本的管理。同时,小程序还基于艾宾浩斯曲线进行消息推送,提醒用户回到小程序学习巩固知识。本款四六级助手小程序的设计和实现可以为广大四六级考生提供便捷的学习工具和服务,有着很好的实用性和推广价值
|
前端开发 Java 关系型数据库
基于Springboot开发的家庭财务管理系统
基于Springboot开发的家庭财务管理系统
457 1
基于Springboot开发的家庭财务管理系统