技術討論區 > 程式討論版
想找個用來開發 Windows 桌面應用程式 的工具
iknowlab:
研究幾天,可以下結論了:
綠色軟體作法:初學者適用,使用 Python 語言
1、下載安裝 Python3.4.3 PyQt5-5.5.1-gpl-Py3.4-Qt5.5.1
- 為了搭配 PyQt 的版本,Python 選 3.4 版
- Python download https://www.python.org/downloads/release/python-343/
- PyQt download https://www.riverbankcomputing.com/software/pyqt/download5
- 注意挑選 32位元 或 64位元,因為與最後產出的 exe 檔有關
- 安裝 Python 時,注意在 Customize Python 時,要將最後一項「Add python.exe to path」挑選進來,不然裝好後要去自行添加 path 變數內容。
2、加裝 PyInstaller
- 命令提示字元視窗內執行 pip install pyinstaller
3、選個範例來玩玩 C:\Python34\Lib\site-packages\PyQt5\examples\opengl\2dpainting.py
- 檔案總管中直接點選即可看到雙螺旋 Qt圖(可測試 OpenGL 效能),還有一個命令提示字元黑視窗先出來,這是系統內定以 C:\Python34\python.exe 來執行的
- 如果改把 .py 關連到 C:\Python34\pythonw.exe 來執行,就不會出現命令提示字元黑視窗
4、利用 pyinstaller 產生整套綠色程式
- 命令提示字元視窗內,切換目錄到 C:\Python34\Lib\site-packages\PyQt5\examples\opengl ,執行 pyinstaller -w 2dpainting.py
- 會生出 build dist 二資料匣
- 最後我們要的綠色套件就是 C:\Python34\Lib\site-packages\PyQt5\examples\opengl\dist\2dpainting 全部
- C:\Python34\Lib\site-packages\PyQt5\examples\opengl\dist\2dpainting\2dpainting,exe 就是我們要的主執行檔
軟體套件發行的方法:大型專案開發適用,使用 C++ 語言
1、下載 Qt5.5
- 網頁 http://www.qt.io/download-open-source/#section-2
- 找 Windows Host 中的 Qt 5.5.1 for Windows 32-bit (MinGW 4.9.2, 1.0 GB) 只有 32位元版
- 檔案:qt-opensource-windows-x86-mingw492-5.5.1.exe
2、下載 Qt Installer Framework
- 網頁 http://www.qt.io/download-open-source/#section-2
- 找 Other downloads 中的 Qt Installer Framework
- 檔案:Qt Installer Framework Opensource 2.0.1.exe
3、安裝 qt-opensource-windows-x86-mingw492-5.5.1.exe
4、安裝 Qt Installer Framework Opensource 2.0.1.exe
5、開啟 Qt Creator (Community)
6、開啟現有專案
- C:\Qt\Qt5.5.1\Examples\Qt-5.5\opengl\2dpainting\2dpainting.pro
- 按下 Configure Project ,會生一個 C:\Qt\Qt5.5.1\Examples\Qt-5.5\opengl\2dpainting\2dpainting.pro.user 以後就不會再問了
- 建置 -> 執行(或是按下左下方的綠色 Play 按鈕)
- 會在 C:\Qt\Qt5.5.1\Examples\Qt-5.5\opengl\build-2dpainting-Desktop_Qt_5_5_1_MinGW_32bit-Debug\debug 生出我們要的 2dpainting.exe
7、把他 copy 出來,或是把其他的 *.o *.cpp 殺了
8、開一個命令提示字元視窗,加持 Qt 要用的 path
- 直接執行 C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\Qt5.5.1\5.5\mingw492_32\bin\qtenv2.bat
- 或 下指令 set PATH=C:\Qt\Qt5.5.1\5.5\mingw492_32\bin;C:\Qt\Qt5.5.1\Tools\mingw492_32\bin;%PATH%
- 或點選開始選單裡的 Qt 5.5.1 > 5.5 > MinGW 4.9.2 (32-bit) > Qt 5.5 for Desktop (MinGW 4.9.2 32 bit) 項目
9、切換到專案發佈的目錄: cd C:\Qt\Qt5.5.1\Examples\Qt-5.5\opengl\build-2dpainting-Desktop_Qt_5_5_1_MinGW_32bit-Debug\debug
10、執行 windeployqt 2dpainting.exe ,幫我們帶出 DLL 們
11、這整個 C:\Qt\Qt5.5.1\Examples\Qt-5.5\opengl\build-2dpainting-Desktop_Qt_5_5_1_MinGW_32bit-Debug\debug 就是綠色套件了
12、其實從項次 7 開始,我研究了二天,終於看到異國年輕人的教材,聽得半懂,看得全懂,有興趣可以去看看 Tutorial Qt Installer Framework https://youtu.be/pXRwgEP_q-Y
13、最後就是用 Qt Installer Framework 去打包成安裝檔,詳解請閱聽上述 youtube 影片
這樣,我就可以開始拼湊範例程式,開發我的「桌面應用程式」了。或許「手機應用程式」也能陸續完成。
誰對此開發應用有興趣啊?舉手喊個「有」,可來參與接下來我會辦的讀書會模式的研討聚會。
誰是箇中好手啊!要不要來開課協助我進步,學費是一定要支付的。
P.S.
前天寫的 Qt 開不起來,是指 Qt Creator (Community) 這個開發環境整個沒反應。
最後由「事件檢視器」看到一個程式出錯,是 Intel 的 Onboard 顯示驅動相關程式。<- 不研究
我把放在 C:\Windows\SysWOW64 裡面那支出錯的程式搬走,就可以正常開啟 QtCreator 了
darkranger:
--- 引述: iknowlab 於 2015-11-06 00:18 --- - 如果改把 .py 關連到 C:\Python34\pythonw.exe 來執行,就不會出現命令提示字元黑視窗
--- 引用結尾 ---
若將副檔名命名為 *.pyw,則也有相同的效果
--- 引述: iknowlab 於 2015-11-06 00:18 --- 4、利用 pyinstaller 產生整套綠色程式
- 命令提示字元視窗內,切換目錄到 C:\Python34\Lib\site-packages\PyQt5\examples\opengl ,執行 pyinstaller -w 2dpainting.py
- 會生出 build dist 二資料匣
- 最後我們要的綠色套件就是 C:\Python34\Lib\site-packages\PyQt5\examples\opengl\dist\2dpainting 全部
- C:\Python34\Lib\site-packages\PyQt5\examples\opengl\dist\2dpainting\2dpainting,exe 就是我們要的主執行檔
--- 引用結尾 ---
如果不喜歡「內臟四溢」的感覺,可以考慮加上 -F 參數打包成更大的單一執行檔
iknowlab:
darkranger 果然 Qt 經驗豐富,希望有機會可面授機宜。
1. 因為我發現 Python3.4.1 並沒有將 .pyw 連結到 pythonw.exe,Python3.5 我是有試過改 .pyw,或許是某種原因 pythonw.exe 的關連被破壞,不過,真正 .pyw 可以不出現的「黑視窗」的原因是關連到 pythonw.exe,也就是如果你把 .py 改關連到 pythonw.exe 一樣也不會出現可用來 debug 的「 黑視窗」。另外還有將 .py 加密為 .pyc 的議題,畢竟我不希望還要在 USER 端安裝 Python / PyQt,所以沒放在結論裡。
2. 如果程式不大,可以採用 -F 簡化。我的電腦大多還是 Pentium4+WinXP_32 / Dual Core+Win7_64,或是有時用 VMWare Player 虛擬機跑 WinXP_32,-F 參數產生的大執行檔(範例程式 2dpainting.py 由 1.5mb 變成 26mb),每次打包、搬移、執行都有礙效率(範例程式 2dpainting.py 打包約多花 15秒,二次打包約為 1秒對16秒 ; 新版程式只要搬動主程式 ; 執行約為0.5秒與2秒之差),系統龐大後更不敢想像,想說大家應該對「綠色套件」不陌生,用資料匣來管理應該也很習慣。
darkranger:
其實我也只是因工作需求有摸過一點而已....
PyInstaller 如果透過 UPX 打包,則打包的效率跟容量應該都會有所改善(沒有認真比對過)
一般而言,就是另外去下載 upx.exe,然後跟 PyInstaller 放置於相同目錄下
PyInstaller 若偵測到 UPX 存在,預設就會使用 UPX 來打包
smartman:
我特別註冊為了回覆這篇文章,
感謝你把QT的windows deploy方法貼在網路上。解決了我搞兩天的問題。
--------
--- 引述: iknowlab 於 2015-11-06 00:18 ---
- 直接執行 C:\Windows\System32\cmd.exe /A /Q /K C:\Qt\Qt5.5.1\5.5\mingw492_32\bin\qtenv2.bat
- 或 下指令 set PATH=C:\Qt\Qt5.5.1\5.5\mingw492_32\bin;C:\Qt\Qt5.5.1\Tools\mingw492_32\bin;%PATH%
- 或點選開始選單裡的 Qt 5.5.1 > 5.5 > MinGW 4.9.2 (32-bit) > Qt 5.5 for Desktop (MinGW 4.9.2 32 bit) 項目
9、切換到專案發佈的目錄: cd C:\Qt\Qt5.5.1\Examples\Qt-5.5\opengl\build-2dpainting-Desktop_Qt_5_5_1_MinGW_32bit-Debug\debug
10、執行 windeployqt 2dpainting.exe ,幫我們帶出 DLL 們
11、這整個 C:\Qt\Qt5.5.1\Examples\Qt-5.5\opengl\build-2dpainting-Desktop_Qt_5_5_1_MinGW_32bit-Debug\debug 就是綠色套件了
12、其實從項次 7 開始,我研究了二天,終於看到異國年輕人的教材,聽得半懂,看得全懂,有興趣可以去看看 Tutorial Qt Installer Framework https://youtu.be/pXRwgEP_q-Y
13、最後就是用 Qt Installer Framework 去打包成安裝檔,詳解請閱聽上述 youtube 影片
這樣,我就可以開始拼湊範例程式,開發我的「桌面應用程式」了。或許「手機應用程式」也能陸續完成。
誰對此開發應用有興趣啊?舉手喊個「有」,可來參與接下來我會辦的讀書會模式的研討聚會。
誰是箇中好手啊!要不要來開課協助我進步,學費是一定要支付的。
--- 引用結尾 ---
導覽
[0] 文章列表
[#] 下頁
[*] 上頁
前往完整版本