摘要
個人比較喜歡使用vs進行開發工作,但是用MFC編寫GUI程序實在有點不方便,因此使用QT開發。於是打算用vs 2017編寫QT程序。這里記錄一下搭建開發環境的過程。
安裝QT和VS2017的插件安裝
下載qt的安裝包5.xx的完整安裝包,然后安裝。由於這里使用的是VS2017進行開發。因此只需要額外選擇使用msvc2017 32bit和msvc2017 64bit即可,在開發工具上只需選擇默認安裝的那一個即可。如下圖所示的QT安裝向導的某一步。
安裝完畢后,打開已經安裝好的vs2017,選擇菜單欄的"工具->擴展",打開擴展工具的安裝窗口。如下圖所示。然后在"聯機"中的搜索欄中輸入QT,搜索得到QT擴展程序,如下圖所示。
當該插件下載完成后,關閉VS2017,等待其自動彈出添加新插件的提示,然后按操作提示進行安裝插件即可。
安裝插件結束后,打開vs2017,會發現菜單欄多了一項“QT VS TOOLS”,點擊該菜單項的Qt Options進行后續設置
在彈出的選項設置中添加剛剛安裝QT時安裝的兩個編譯環境。
兩個都添加,msvc2017是編譯成32位的,而msvc2017_64是編譯64位程序的。
點擊OK后就可以正確的使用VS2017編譯QT GUI程序了。注意在創建項目時需要在項目模板中耐心查找。
創建的QT GUI項目后,項目的界面設計部分由QT設計器完成,其它代碼由VS編輯器完成。編譯就像正常的VS程序編譯即可。你可以如同使用vs開發普通的win32程序一樣對開發的QT程序進行調試、編譯、執行。
當需要發布該程序時,雖然我們編譯出了可執行文件,但是卻無法正確的打開該可執行文件。因為程序執行時找不到相應的dll,因此打包和發布時需要將程序依賴的qt相關dll與可執行文件一起打包,否則編譯后的可執行文件會因為找不到相關dll而無法運行。打包操作只需要執行一條命令即可。其命令是在開始菜單中找到如下圖所示的相應的qt命令行,調用“windeployqt 編譯后的可執行文件的完整路徑或者文件夾路徑”即可完成發布(或者找到windeployqt.exe執行相關命令),否則編譯后的exe無法獨立的運行。