簡體   English   中英

在Qt Creator中開發Python應用程序

[英]Developing Python applications in Qt Creator

我過去使用Qt Creator用C ++開發了一些Qt項目,但現在我想嘗試使用Qt的Python實現。 我發現Qt Creator 2.8及更高版本支持Python ,但到目前為止我還沒有弄清楚如何用Python創建一個Qt應用程序。 關於它的在線文檔似乎很少。

如何在Qt Creator中設置這樣的項目? 理想情況下,我正在尋找一個簡單的“Hello World”項目,我可以在Qt Creator中打開它並將其作為構建內容的起點。

目前, Qt Creator允許您創建Python文件(而不是項目)並運行它們。 它還具有語法突出顯示功能,但缺少更復雜的功能,如自動完成功能。

運行腳本需要一些配置(我使用教程)。 打開Qt Creator並轉到Tools->Options->Environment->External Tools 單擊Add->Add category並創建一個新類別(例如, Python )。 然后,選擇創建的類別,然后單擊Add->Add Tool - Add->Add Tool以創建新工具 - 例如RunPy 選擇創建的工具並填寫右側的字段:

  1. 描述 - 任何價值
  2. 可執行文件 - python.exe路徑
  3. 參數 - %{CurrentDocument:FilePath}
  4. 工作目錄 - %{CurrentDocument:Path}
  5. 環境 - QT_LOGGING_TO_CONSOLE=1

你得到這樣的東西:

在此輸入圖像描述

現在,轉到File->New File or Project->Python並選擇Python source file 要運行創建的腳本: Tools->External->Python->RunPy

你也可以用同樣的方式添加pyuic:再次單擊Add->Add Tool按鈕創建一個新工具 - 現在是PyUic 再次選擇並填寫右側的字段:

  1. 描述 - 任何價值
  2. 可執行文件 - pyuic5路徑
  3. 參數 - -o UI%{CurrentDocument:FileBaseName}.py -x %{CurrentDocument:FilePath}
  4. 工作目錄 - %{CurrentDocument:Path}
  5. 環境 - QT_LOGGING_TO_CONSOLE=1

然后你也應該連接PyUic。

多虧了這一點,它幫助極大。

我使用你的指令設置了一個用於python的新工具包的構建和運行部分,這看起來效果很好。

以下是構建設置:

qtcreator python構建設置

以下是運行設置:

qtcreator python運行設置

請注意,我有/ usr / bin / python作為/usr/bin/python3.6的鏈接

以下是項目文件設置:

qtcreator python項目設置

唯一需要的是進入工具 - >選項 - >構建並運行和取消選擇“在部署之前始終構建項目”和“在運行之前始終部署項目”。

設計完表單后,可以單擊build創建UI.py文件,然后單擊run運行當前選定的python源文件。

對於像我這樣的PyQt noobs,我發現以下資源在開始時特別有幫助...(雖然我在linux而不是windows)...

http://projects.skylogic.ca/blog/how-to-install-pyqt5-and-build-your-first-gui-in-python-3-4/

編輯。

我還添加了pdb - python調試器

qtcreator python pdb設置

然后,您可以通過單擊運行按鈕上方的按鈕來選擇:

qtcreator運行按鈕

在點擊運行之前。 您可以使用以下代碼段在代碼中設置斷點,其中我在pdb運行的運行設置中將DEBUG = 1添加到系統環境,並將DEBUG = 0添加到運行python env:

if (QtCore.QProcessEnvironment.systemEnvironment().value("DEBUG") == "1"):
                import pdb; QtCore.pyqtRemoveInputHook(); pdb.set_trace()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM