我是 Python 的初學者,嘗試使用 Python 制作命令列應用程式。
我已經開發了該程式,但我看到我的程式在 中執行cmd.exe,這似乎是這類程式的默認設定。
但我想要一個更好的 GUI,比如 Windows Terminal。但問題是,Windows Terminal 并非按原樣安裝在所有 Windows 計算機中cmd.exe。
因此,我想請您提出任何制作 GUI 的方法或將 Windows 終端與我的 Python 程式捆綁在一起的方法。
感謝您的任何幫助。
uj5u.com熱心網友回復:
所以首先我們需要了解一些術語。您比較 Windows Terminal 和cmd.exe,但它們實際上是兩種完全不同型別的應用程式。CMD 是舊的 Windows shell。它在終端仿真器(又名終端)內運行。它可以在 Windows 下運行多個終端:
- 默認情況下,在 Windows 10 中,它在舊版Windows 控制臺主機中運行。這是近 30 年(也許更久)的 Windows 終端。
- CMD 也可以在Windows Terminal中運行,這是微軟的替代終端,可安裝在 Windows 10 或 Windows 11 中。在 Windows 11 下,它可以成為 Windows 的默認終端。
當您要求 Windows 運行控制臺/終端應用程式(如 Python CLI 應用程式)時,Windows 始終在其默認終端中運行它——在 Windows 10 下,始終是 Windows 控制臺主機。在 Windows 11 下,它可能是 Windows 控制臺主機或 Windows 終端,具體取決于用戶配置。
但是還有多個其他終端可以在 Windows 中運行您的 CLI Python 應用程式:
一些比較流行的是:
- 動車組
- 命令
- MobaXterm
您可以找到此博客文章中列出的其他內容。
所以實際上并不是你的應用在 CMD 中運行,而是你的應用在 Python(解釋器)中運行,它在 CMD(shell)下運行,它在 Windows 控制臺主機(默認終端模擬器)下運行。
請注意,Python 也可以在其他 shell下運行(PowerShell、WSL 下的 Linux shell、Nushell 等)。這些 shell 也可以在上面的任何終端中運行。或者您的 Python CLI 應用程式可以作為終端內的頂級運行。
好的,現在我們已經建立了一些基礎......
但我想要一個更好的 GUI,比如 Windows Terminal。
有點不清楚你的意思是什么,但除了嘗試打包 Windows Terminal 之外,可能還有其他解決方案。舊版控制臺和 Windows 終端都應該為您的應用程式提供類似的功能。Windows 終端為用戶添加了選項卡之類的內容,但您無法在應用程式中控制這些內容。控制臺主機和 WT 都可以使用相同的 Windows 字體進行配置。
您可以在 Windows 終端中做而不能在控制臺主機中做的一件事是為您的應用程式定義一個組態檔,包括您希望它在其下運行的主題、背景影像等。也許這就是您所要求的,但您沒有指定這些功能。
建議任何制作 GUI 的方法
如果您希望在 Python 中創建 GUI,請考慮使用GUI 框架而不是 CLI 應用程式來構建它。你甚至可以用 Python 撰寫一個終端模擬器,但這可能有點矯枉過正。
或將 Windows 終端與我的 Python 程式捆綁在一起的方法。
這可能不是一個好主意。Windows Terminal 在作為 Microsoft Store 應用程式(又名 UWP、Modern 等)安裝時效果最佳。無法將 Microsoft Store 應用程式與其他應用程式捆綁在一起;就像您無法在 iOS 上自動從另一個 Apple App Store 應用程式安裝一樣。也可以將 Windows Terminal 安裝/運行為傳統.exe的,但這不是默認(或支持)方式。
您可以考慮以下幾點:
讓您的主要 Python 應用程式成為一個“啟動器”,檢查是否安裝了 Windows 終端,可能通過查找現有的
wt.exe.如果安裝了 Windows 終端:
- 檢查相應目錄中是否存在您的應用程式JSON 片段(請參閱鏈接)。如果它不存在,請安裝它。
wt.exe new-tab --profile <your_app_profile>使用您在 JSON 片段中定義的組態檔,呼叫類似在 Windows 終端中啟動或打開新選項卡的方法來啟動您的應用程式。
如果未安裝 Windows 終端:
- 建議用戶安裝。打開指向它的 Microsoft Store 鏈接。
- 如果他們選擇不這樣做,您的啟動器仍應啟動應用程式的 CLI 部分——Windows 將使用默認終端,它應該是 Windows 控制臺主機。
提供單獨運行 CLI 部分的說明(沒有啟動器),以便其他終端仿真器的用戶可以在他們喜歡的環境中運行它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/478086.html
上一篇:如何在kivy中切換螢屏?
