2010-05-18 215 views
1

我打算使用Python來創建桌面應用程序,以瞭解一些桌面概念。我要使用GTK或Qt,我還沒有確定哪一個。需要關於使用gui創建桌面應用程序的幫助/指導

事實是:我想創建一個應用程序,可以從命令行調用,並使用GUI。所以它對於cmd粉絲和GUI用戶也很有用。

將來也會創建一個Web界面,所以它可以在某個地方使用模板語言創建的html界面運行。

我在考慮兩種方法: - 通過從桌面/ Web實現中調用的簡單接口創建「模型」(核心模塊,其中包含所有功能) - 使用html界面創建「模型」,並嵌入瀏覽器組件,以便在桌面/ web場景中重用所有代碼。

我的問題是:這個項目涉及到哪些概念?每種方法有哪些優點/缺點?他們有可能嗎?

通過命名「接口」,我打算用def調用來做一些interfaces.py文件。這是一個壞方法嗎?

我想知道一些書籍建議或資源給這兩個選項 - 或者來自共享相同GUI/cmd/web目標的項目的源代碼。

在此先感謝!

+0

重複這個? http://stackoverflow.com/questions/2857634/how-can-i-create-a-gui-on-top-of-a-python-app-so-it-can-do-either-gui-or- cli – 2010-05-18 20:27:14

+0

網絡概念如何?那裏提出的原則是否實現了這個目標?我的理解是,我可以創建一個4.導入foo_core的Web模塊。稱它爲foo_web.py? – 2010-05-18 20:28:20

回答

1

怎麼樣a link來源?

在unix平臺上有一個CLI命令和一個GUI前端是很常見的...... TransmissionBT bit torrent客戶端就是您打算做的一個很好的例子。

+0

良好的資源,謝謝! – 2010-05-24 11:32:19

1

從應用程序邏輯中解耦表示層使其成爲可能!

您可以將您的應用程序分爲多個圖層,一個圖層是執行特定功能的可重複使用的代碼部分。

例如,您可以將應用程序分爲兩層或更多層,一層是應用程序的表示層,另一層是模型層。這允許在呈現層的不同實現中重用應用的整個模型。

表示層包含實現並顯示用戶界面和管理用戶交互的組件。除了組織用戶交互的組件外,該層還包含用於用戶輸入和顯示的控件。可以有多種表示層技術實現,如PyQt4,PyGtk,Html,控制檯等。

爲什麼分離模型有用?

您可能想知道爲什麼將表示層以外的邏輯移入模型層非常重要。最大的原因是重用:放置在模型中的邏輯提高了應用程序的可重用性。隨着應用程序的增長,應用程序經常會發展到其他領域應用程序可以作爲Web應用程序開始,但其中一些功能稍後可能會移至智能客戶端應用程序。應用程序的部分可以在網站和運行在服務器上的web或windows服務之間進行分割。另外,保持邏輯可以幫助開發一個好的設計(有時代碼在UI中可能會變得越來越慢)。

但是,有一些警告:當大多數邏輯駐留在業務層中時,開發應用程序需要更長的時間。原因在於這通常涉及創建多組對象(數據層和訪問代碼,以及業務對象),而不是將其嵌入到應用程序中。執行此操作所需的額外時間對於某些管理人員和項目負責人來說可能是關閉的,尤其是因爲它經常需要您瞭解面向對象的編程知識,而不是大多數人都樂於接受的。

您可以搜索Internet上的N層架構風格。

這是一個示例應用程序,它實現了幾種類型的用戶界面,但基於。 NET框架,對於Python來說是相似的。

http://microsoftnlayerapp.codeplex.com/

我工作的基礎上PyQt4的呈現框架的一個大項目。應用的體系結構之一是N層。如果你想要一個基於PyQt4的簡單例子,給我發一封電子郵件。

相關問題