• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            eryar

            PipeCAD - Plant Piping Design Software.
            RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
            posts - 603, comments - 590, trackbacks - 0, articles - 0

            Modify Branding of FreeCAD

            Posted on 2016-05-09 22:18 eryar 閱讀(1470) 評論(2)  編輯 收藏 引用

            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

            Feedback

            # re: Modify Branding of FreeCAD  回復  更多評論   

            2016-08-05 13:46 by 啦啦啦
            請教一下, App::Application::Config()["ExeName"] = "FreeCAD中文名";中文字符,會亂碼,這個要怎么解決了?

            # re: Modify Branding of FreeCAD  回復  更多評論   

            2016-08-05 19:18 by eryar
            @啦啦啦
            static std::map<std::string,std::string> &Config(void){return mConfig;}
            這個用的是std::string,涉及到編碼問題了。
            久久香蕉超碰97国产精品| 久久精品无码一区二区三区日韩| 深夜久久AAAAA级毛片免费看| 日本国产精品久久| 久久狠狠爱亚洲综合影院| 色婷婷久久综合中文久久蜜桃av| 国产精品美女久久久m| 日韩亚洲欧美久久久www综合网 | 亚洲精品tv久久久久| 国产69精品久久久久久人妻精品| 久久99精品久久久久久hb无码| 91久久香蕉国产熟女线看| 国产色综合久久无码有码| 久久中文字幕一区二区| 久久99久久99精品免视看动漫| 久久中文字幕一区二区| 精品久久人人爽天天玩人人妻| 久久精品国产免费一区| 亚洲精品国产字幕久久不卡| AAA级久久久精品无码区| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 性做久久久久久久久浪潮| 久久91精品国产91久久麻豆| 久久天天躁夜夜躁狠狠躁2022| 久久久久久免费一区二区三区| 久久精品极品盛宴观看| 久久亚洲AV无码西西人体| 亚洲狠狠久久综合一区77777| 久久国产热精品波多野结衣AV | 久久美女网站免费| 久久久婷婷五月亚洲97号色| 国产精品一区二区久久精品涩爱| 狠狠精品久久久无码中文字幕| 国产一级持黄大片99久久| 久久久久亚洲av无码专区 | 久久久久久av无码免费看大片| 久久精品9988| 国产亚洲精午夜久久久久久| 久久AAAA片一区二区| 午夜精品久久久久久久无码| 亚洲日韩欧美一区久久久久我|