2011-08-04 60 views
3

您可以製作一個可在OSX和Windows上運行的通用Python應用程序嗎?使用相同的菜單系統等?或者你需要爲每個操作系統製作不同的版本?如何製作一個通用的Python應用程序

+0

當你說「菜單系統」你有窗戶 - 基於應用程序在你的腦海? – OnesimusUnbound

+3

[用於部署Python應用程序的跨平臺gui工具包](http:// stackoverflow。com/questions/520015/cross-platform-gui-toolkit-for-deployment-python-applications) – agf

+0

[wxPython](http://www.wxpython.org/) – OnesimusUnbound

回答

3

是的。你可以用Qt爲它的界面構建它,然後你必須明智地使用os庫來確保無論它運行什麼操作系統,一切都能很好地發揮作用。然而,在將其包裝進行分銷時,您必須分開進行。對於Windows,您可以使用py2exe,它將構建一個包含在Python運行時和您使用的所有庫中的二進制包。我不確定它如何在Mac上工作。

0

您可以嘗試一些跨平臺工具,例如Appcelerator Titanium Desktop支持基於python的開發。

6

我用wxPython構建了幾個跨平臺的應用程序(Windows/OS X)。幾乎所有的代碼都可以在兩個平臺上完美轉換。爲了加入上下文,我通常在Mac OS上開發應用程序,如果我花了一個星期的時間來研究一個應用程序,我花了幾個小時來讓它在Windows中很好地運行。

通常這些時間包括:

  • 調整次要wxPython的視覺效果(字體大小,顏色)
  • 好人之類的東西嵌入圖標
  • 鍵盤快捷鍵(CMD VS CTRL)
  • 主菜單

就像你正確指出的,如果你想要相同的主菜單,你有一些工作在你面前OS X方面。我自己從來沒有真正困擾過,我有一些額外的OS X默認主菜單位和罰款罰款。

除了主菜單的東西,考慮到你必須做的小調整,我會說wxPython是要走的路。與Windows端的px2exe和OS X端的py2app一起,它包含了相當大的衝擊。

0

我目前正在開發一個在我的Ubuntu Linux機器上的應用程序。我真正的生活,它運行在帶有觸摸板的Windows XP機器上。

我使用wxPython作爲gui工具包。在過去我主要使用.net,但我想要跨平臺。

它確實運行時沒有檢查它運行的是哪個os。 (保存一張支票在那裏我閱讀文本文件和我有一些麻煩與行尾)

0

要添加到已經被賦予了什麼......

如果你依賴任何os.system電話,你也可以遇到代碼需要處理不同平臺的地方,以及不同的地方。

作爲一個例子,我有一個應用程序,它有一個打開一個PDF文件的幫助菜單選項。 我的代碼將是這樣的:

if arch.find("indows"): 
    os.system("start " + help_filename) 
elif arch.find("inux"): 
    os.system("xdg-open " + help_filename) 
else: # really this is the Mac case 
    os.system("open " + help_filename) 
相關問題