PyQtdeploy-V2.4 User Guide 中文 (一)

来源:https://www.cnblogs.com/MouHaoHao/archive/2019/04/12/10698777.html
-Advertisement-
Play Games

PyQtdeploy 用戶指南 目錄 "介紹" "與V1.0+的差異" "作者" "證書" "安裝" 部署過程概覽 PyQt的演示 構建演示 Android IOS Linux MacOS Windos 構建系統根目錄 標準組建插件 創建Sysroot規範文件 PyQt演示的Sysroot 命令行 ...


PyQtdeploy 用戶指南

目錄

  • 介紹
  • 部署過程概覽
  • PyQt的演示
    • 構建演示
    • Android
    • IOS
    • Linux
    • MacOS
    • Windos
  • 構建系統根目錄
    • 標準組建插件
    • 創建Sysroot規範文件
    • PyQt演示的Sysroot
    • 命令行
    • 編寫組建插件
  • 創建PyQtdeploy項目
    • 定義應用程式源
    • 定義qmake配置
    • 添加標準庫包
    • 添加其他包
    • 添加其他擴展模塊
    • 定義文件和目錄位置
  • 構建應用程式
    • 命令行
  • Windows和動態載入擴展模塊
  • 使用pyrcc的應用程式
    • 支持PEP 302可選導入掛鉤
  • pdytools模塊

介紹

PyQtdeploy是一個工具,它通過與Qt提供的其他工具一起支持部署使用Python v2.7或Python v3.3或更高版本編寫的PyQt應用程式。它支持部署到桌面平臺(Linux,Windows和macOS)和移動平臺(iOS和Android)。

通常,您將創建Python解釋器庫的靜態編譯版本,包含任何第三方擴展模塊、PyQt和Qt。這樣您的應用程式就沒有外部依賴關係。但是,也可以使用任何這些組件的共用版本來減小應用程式的大小,其代價是增加了部署的複雜性。

pyqtdeploy本身需要PyQt5和Python v3.5或更高版本。

pyqtdeploy通過獲取PyQt應用程式的各個模塊,靜態編譯它們,然後將它們放在Qt資源文件中,該文件由Qt的rcc工具轉換為C ++代碼。Python的標準庫將以相同的方式處理。

pyqtdeploy圍繞Python解釋器庫生成一個簡單的C ++包裝器,它使用Python導入機制以類似於Python支持zip文件中模塊打包的方式訪問嵌入式靜態編譯模塊。

最後,pyqtdeploy生成一個特定於目標的Qt.pro文件,該文件描述了所有生成的C ++代碼。Qt的qmake工具用於生成一個Makefile,然後生成一個可執行文件。Qt和(或)平臺的特定工具將可執行文件轉換為特定於目標的可部署包。

運行pyqtdeploy時會顯示一個允許指定所有單獨組件的GUI。此信息存儲在 pyqtdeploy項目文件中。

pyqtdeploy(尚未)執行自動發現Python標準庫模塊或第三方模塊以包含在應用程式中。您必須自己指定。但是它確實理解標準庫中的相互依賴性,因此您只需指定應用程式顯式導入的那些包。

可以從命令行(或shell腳本、批處理文件)運行配套程式pyqtdeploy-build,以從項目文件生成C ++代碼。

另一個配套程式pyqtdeploy-sysroot支持創建包含某些組件的特定於目標安裝的系統根目錄(例如Python本身和PyQt)

pyqtdeploy本身不會生成最終的分發包,即由目標平臺的包管理系統處理的包。這項工作留給了目標平臺的標準包裝工具。對於桌面目標,fman Build System是一種替代解決方案,包括對.exe文件(對於Windows), .dmg文件(對於macOS).deb.rpm文件(對於Linux)的支持。

註意:從複雜的Python應用程式(特別是使用外部C擴展模塊的應用程式)創建單個可執行文件(特別是沒有外部依賴項的可執行文件)並不是一項簡單的任務。它需要C語言代碼、編譯器、構建系統的經驗以及調試相關問題的能力。

與V1.0+的差異

自v1以來,pyqtdeploy已經發生了許多變化。大多數這些更改都與支持工具相關而不是與GUI。為v1創建的項目文件將由更高版本自動更新。

Android需要Python v3.6或更高版本,已刪除對Python早期版本的支持。

v1建議在組裝可部署應用程式的各個部分時採用目錄結構。這被稱為sysroot目錄。提供了一個不受支持的腳本build-sysroot.py,它創建了sysroot目錄,並且能夠構建和安裝有限數量的組件(主要是PyQt和相關的包)。它使用pyqtdeploycli程式生成的配置文件來指定這些組件的構建方式,例如,啟用了哪些單獨的模塊和功能。 build-sysroot.py已替換為完全支持的 pyqtdeploy-sysroot程式。單個組件支持由可配置組件插件實現。通過一個API,您可以為其他組件編寫(並提供)自己的插件。與v1一樣,使用sysroot目錄結構完全是可選的。

該pyqtdeploycli程式已被移除。構建功能已被新的pyqtdeploy-build程式取代。

pyqtdeploy GUI 的Build選項卡已被刪除。GUI的唯一目的是創建和修改項目文件。

v1生成的C ++代碼和qmake .pro文件試圖在所有目標體繫結構中可移植。 pyqtdeploy-build將生成特定於單個目標體繫結構的代碼,該體繫結構由--target選項確定,預設為主機體繫結構。

作者

pyqtdeploy版權所有(c)Riverbank Computing Limited。其主頁為https://www.riverbankcomputing.com/software/pyqtdeploy

可以從*https://www.riverbankcomputing.com/mailman/listinfo/pyqt*上的PyQt郵件列表獲得支持

證書

PyQtdeploy是根據BSD許可證發佈。

安裝

PyQtdeploy可以從PyPI中下載並安裝:

pip3 install pyqtdepoly

PyQtdeploy需要安裝PyQt5,它並不是自動安裝的。


返回目錄



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. Spring Boot簡介 初次接觸Spring的時候,我感覺這是一個很難接觸的框架,因為其龐雜的配置文件,我最不喜歡的就是xml文件,這種文件的可讀性很不好。所以很久以來我的Spring學習都是出於停滯狀態的。 不過這種狀態在我接觸了Spring Boot之後,就發生了改變。Spring官方 ...
  • http介紹:http是一套規範,一種網路數據交互的標準協議,不同的語言,不同的數據想要實現合理的數據交互(例如:瀏覽器和伺服器數據交互),就得按照他所規定的協議來,這樣就會形成標準的(大家都認識的)數據交互。 http交互流程: 1.客戶端和伺服器建立起連接通道。 2.客戶端發送請求給伺服器。 3 ...
  • PyQtdeploy 用戶指南 目錄 介紹 與V1.0+的差異 作者 證書 安裝 "部署過程概覽" PyQt的演示 構建演示 Android IOS Linux MacOS Windos 構建系統根目錄 標準組建插件 創建Sysroot規範文件 PyQt演示的Sysroot 命令行 編寫組建插件 創 ...
  • 我國互聯網的發展道路與歐美不同,在內容的形式上,我們似乎實現了跨越式的發展——早早進入了移動互聯網時代,直播和短視頻等形式的內容成為了潮流,而文字形式的博客(blog)與聲音形式的播客(podcast)則(逐漸)成為了小眾。智能手機極大地改變了我們的上網習慣。 誠然,仍有一些受眾廣泛的聚合類的平臺, ...
  • 一、線程的生命周期 進程與線程一樣,都具有一定的生命周期,線程的生命周期包括四個狀態:創建狀態、就緒狀態、阻塞狀態、死亡狀態。 1.創建狀態 1)是指使用new實例化一個線程對象,但該線程對象還未使用start()方法啟動線程這個階段,該階段只在記憶體的堆中為該對象的實例變數分配了記憶體空間,但線程還無 ...
  • 一:MyBatis的架構 1.mybatis配置SqlMapConfig.xml,此文件作為mybatis的全局配置文件,配置了mybatis的運行環境等信息。 mapper.xml文件即sql映射文件,文件中配置了操作資料庫的sql語句。此文件需要在SqlMapConfig.xml中載入。 2.通 ...
  • 最近在開發時遇到一個非常奇怪的問題,在tomcat8中使用Spring MVC框架,在Controller中的方法參數無法正常獲取到相應的值,將tomcat版本換成7.0就解決了。 記錄以下解決過程,先上圖: 項目採用ssm架構,在這裡獲取不到參數password的值,在網上查詢相關資料,得到以下幾 ...
  • jQuery+php+Ajax實現的一個簡單實用的文章列表點擊載入更多功能,點擊載入更多按鈕,文章列表載入更多數據,載入中有loading動畫效果。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...