• <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

            編譯PySide

            Posted on 2020-01-14 20:48 eryar 閱讀(2903) 評論(0)  編輯 收藏 引用 所屬分類: 1.PipeCAD

            編譯PySide

            PySide是跨平臺應用程序框架QtPython綁定版本。在20098月,PySide首次發布。提供和PyQt類似的功能,并相容 API。但與 PyQt 不同處為使用LGPL授權。

            PySide的推出比pyQt晚很多,但也有些年頭了。由于先前PySide項目不是很完善,又缺乏文檔,所以其存在感不高。Pyside的誕生主要是Nokia(收購了TrolltechNokia當時是Qt的爸爸)與Riverbank Computing談崩了的結果。Riverbank ComputingpyQt的開發商,對pyQt采用GPLv3協議。Nokia主動與Riverbank Computing展開了多輪協商,表示希望pyQt能添加對LGPL協議的支持,這樣對于很多商業用戶會更友好,何況你在pyQt里使用的也是我們LGPL協議版本的Qt,這個要求不過分吧。Riverbank Computing說我覺得不行。大概是覺得Riverbank Computing吃相難看,Nokia一氣之下決定單干,于20098月發布了支持了LGPL協議的PySide,pyQt的對標產品。然鵝,就算你是親生的,剛生下來也打不過一個壯小伙子,何況你馬上就要被過繼出去了。。(滑稽2011年,NokiaQt的商業許可賣給Digia。2012年,NokiaQt完全賣給Digia,后者在2012年年底推出了Qt5。遭遇人生的重大變故,PySide項目未來如何發展還是個未知數,更不要說支持Qt5了。反觀pyQt,在Qt5推出的半年內(20136月)就發布了支持Qt5pyQt5。一邊是生死未卜的只支持Qt4還不完善的主要依靠社區維護的PySide,一邊是全面支持Qt4/Qt5的文檔健全的pyQt,強弱懸殊,高下立判。好在Digia收購了Qt后,決定大力度支持Qt全方位發展,并于20149月將Qt分拆成一家獨立全資子公司The Qt Company,后者于2016年在納茲達克赫爾辛基上市。PySideQt5提供支持的計劃也從2014年開始籌備,也就是2015年上馬的Qt for Python項目,該項目開發的模塊命名為PySide2,以表示與老一代PySide的不同。雖說加大了投入,該補的課也繞不開,PySide2Qt公司和Qt社區開發者的共同努力下,也只在20186月才正式發布了第一個版本,穩定性還是個問題。不過從01是最難的,后面就容易了,尤其最近發布的Qt 5.12 LTS釋放了非常積極的信號,PySide2已經日趨完善,又是親生的,還有LGPL開源協議的加持,今后PySide2有足夠的理由成為Python開發者使用Qt的第一選擇。(來自:https://www.zhihu.com/question/306793447

            有了編譯開源庫OpenCASCADE等的經驗,這些開源庫的編譯都可以自己動手解決。首先下載源碼,由于國外網站現在訪問速度很慢,可以找國內的鏡像,像清華大學的開源軟件鏡像站就很好,內容很多,下載速度非???。

            https://mirrors.tuna.tsinghua.edu.cn/

             

             在如下地址下載PySide的最新版本源碼:

            https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/QtForPython/pyside2/

             

            當然,如果不想自己編譯,可以直接下載Qt官方編譯好的程序先體驗。根據官方文檔,編譯PySide主要是配置用到的第三方庫,如libclangPython, CMake等,這些都可以從Qt的開發工具中下載到:

            https://mirrors.tuna.tsinghua.edu.cn/qt/development_releases/prebuilt

             

            下載好后,我喜歡將配置寫在一個批處理文件中,如下所示:

            @echo off
            set path=%path%;D:\Qt\perl-5.20.3.3\perl\bin;D:\Python\Python37;D:\Python\Python37\Scripts;D:\Qt\Qt5.14.0\bin;
            set LLVM_INSTALL_DIR=D:\Qt\libclang
            python setup.py install --qmake=D:\Qt\Qt5.14.0\bin\qmake.exe --cmake=D:\Qt\cmake-3.8.0-win32-x86\bin\cmake.exe

            啟動Visual Studio的命令行工具,切換到pyside-setup文件夾中,運行批處理就可以了。當然編譯要花點時間。編譯好后,會自動安裝到Pythonsite-packages里面。切換到例子文件夾,運行例子代碼,出來下面的窗口說明編譯成功了。

             

            選擇Python的原因是可以對應用程序提供二次開發功能,而且支持GUI的定制開發。原來也考慮過Tcl/Tk,即OpenCASCADEDraw Test Harness使用的腳本語言,自定義擴展簡單。但是支持的功能也相對簡單,且原生的Tcl不支持面向對象的開發。Python支持面向對象的概念,同是也是跨平臺的。自己編譯QtPySide可以根據需要,不編譯Qt的一些模塊,使程序盡量精簡。

             


            為了方便大家在移動端也能看到我的博文和討論交流,現已注冊微信公眾號,歡迎大家掃描下方二維碼關注。
            Shing Liu(eryar@163.com)
            97久久久精品综合88久久| 久久久久亚洲精品天堂久久久久久| 一本久久免费视频| 久久久亚洲欧洲日产国码二区 | 国产午夜免费高清久久影院| 2021国产精品久久精品| 久久香蕉国产线看观看精品yw| 精品久久香蕉国产线看观看亚洲 | 亚洲AV无码久久精品成人| 久久久久人妻一区精品色| 精品久久久久中文字幕一区| 久久久久久久久久久| 国产AⅤ精品一区二区三区久久| 一级做a爰片久久毛片免费陪| 亚洲精品国产美女久久久| 国产亚洲美女精品久久久| 午夜欧美精品久久久久久久| 久久国产精品无码网站| 国产精品9999久久久久| 无夜精品久久久久久| 久久九九青青国产精品| 久久久久久午夜成人影院| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 国产巨作麻豆欧美亚洲综合久久| 国产精品一区二区久久精品涩爱 | 久久婷婷五月综合97色一本一本 | 久久99九九国产免费看小说| 99久久国产综合精品网成人影院| 日韩精品久久久久久久电影蜜臀| 亚洲精品乱码久久久久久蜜桃| 国产精品成人99久久久久| 久久国产精品久久精品国产| 亚洲va中文字幕无码久久不卡| 偷窥少妇久久久久久久久| 欧美伊人久久大香线蕉综合69| 久久99精品久久久久久9蜜桃| 91久久精品国产免费直播| 国内精品伊人久久久久| 国产精品一区二区久久| 久久精品国产精品青草| 久久精品国产亚洲一区二区|