• <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 閱讀(1463) 評論(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,涉及到編碼問題了。
            久久久久亚洲AV成人网| 精品久久人人爽天天玩人人妻| 午夜肉伦伦影院久久精品免费看国产一区二区三区| AV狠狠色丁香婷婷综合久久| 91精品国产91热久久久久福利 | 亚洲乱码中文字幕久久孕妇黑人| 国产欧美久久久精品影院| 国产美女久久精品香蕉69| 久久影院久久香蕉国产线看观看| 国产69精品久久久久9999APGF | 久久久久久无码Av成人影院| 久久久久国产精品麻豆AR影院| 97精品依人久久久大香线蕉97| 国产2021久久精品| 久久综合狠狠综合久久综合88| 久久免费视频6| 国产精品九九九久久九九| 久久婷婷五月综合成人D啪 | 国内精品久久久久影院薰衣草 | 久久国产精品国产自线拍免费| 99精品国产免费久久久久久下载| 国产 亚洲 欧美 另类 久久| 精品无码久久久久久午夜| 国产69精品久久久久9999APGF| 久久精品国产一区二区三区| 久久精品九九亚洲精品天堂| 久久ZYZ资源站无码中文动漫 | 国产精品欧美久久久久无广告| 久久久久亚洲av无码专区导航| 日韩va亚洲va欧美va久久| 亚洲成av人片不卡无码久久| 久久精品三级视频| 欧美久久天天综合香蕉伊| 久久久久亚洲AV成人网人人网站| 国产精品免费久久| 午夜精品久久久久久影视777| 亚洲色欲久久久久综合网| 国内精品久久久久影院薰衣草| 久久人人爽人人爽人人片AV不 | 久久电影网一区| 久久99久久无码毛片一区二区|