1. 程式人生 > >python程式設計(wx客戶端編寫)

python程式設計(wx客戶端編寫)

【宣告:版權所有,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】

    使用python編寫客戶端不是一件很複雜的事情。比如說,基本上不管是mac版本,還是windows版本、linux版本,一般python都預設安裝了Tkinter這個GUI庫。但是,我一直覺得這個庫不是很好用,不但十分醜陋、功能設計也不合理。最近一段時間上網看了看,發現了wx這個庫,使用了一下,確實不多。

    擁有一個GUI庫對於編寫客戶端來說還是很重要的。好的GUI一般包括了兩個部分,一個是空間的使用,另外一個就是canvas的繪製。大部分的客戶端不需要用到canvas的繪製,直接使用控制元件就可以完成絕大部分的操作,特別是一些工具類的app。只有那些特定的客戶端才會用到canvas,比如說製圖軟體、3d軟體、視訊播放軟體、流程圖軟體、ps軟體等等。

wx安裝

    在linux上面安裝wx十分簡單,如果你是ubuntu作業系統,基本上一句話就可以完成wx的安裝,

sudo apt-get install python-wxgtk2.8

使用wx庫

    使用wx庫就更簡單了,就像在python引用其他的第三方軟體一樣,你同樣簡單的引用一下lib就可以使用wx裡面的各個class了,

import wx

最簡單的wx app

    不管什麼庫,能夠快速用起來才是最重要的,wx也一樣。我們大家就來看看wx怎麼使用,

import wx

app = wx.App()
frame = wx.Frame(None)
frame.Show
() app.MainLoop()

剩下來的工作

    對於想學習wx庫的同學,看到這裡,你基本上就算入門了,剩下來的事情就是繼續熟悉wx的其他內容了。這裡給出一個建議表,可以按照這個思路繼續學習下去,直到有一天可以做出一個合格的客戶端軟體來。

  1. 選單、工具欄、狀態列、對話方塊、按鈕、edit等各個控制元件
  2. 學會在在canvas進行各種圖形、文字的繪製
  3. 練習編寫簡單的軟體,比如匯率表、圖片閱讀器、計算器等等
  4. 新增網路功能,學會gui如何和其他io操作互動
  5. 學會用mvc的方式編寫軟體
  6. 學會編寫稍微複雜的軟體,比如編輯器、ftp軟體、視訊播放器等等
  7. 閱讀更多複雜的wx程式碼,比如UliPad等等,進一步熟悉客戶端的編寫方法

ps:如果控制元件編寫麻煩,可以用wxFormBuilder來完成

關於pc客戶端的題外話

    一般客戶端都是由這幾部分構成:a、選單,b、工具欄,c、狀態列,d、工作區。常用的配置都能在工具欄裡面找到,特別複雜的配置才會藏到選單欄裡面。為了使用方便,客戶端還會新增右擊選單、快捷鍵和tray icon的功能。為了擴充套件客戶端的功能,客戶端會引入外掛的機制。同樣為了升級方便,客戶端會主動聯絡server,確認是否需要升級。簡單的客戶端採用mvc皆可以開發。但是如果設計複雜一點,功能多一點,建議使用gui+reactor機制來解決。當然,客戶端基本的配置必須是能夠儲存的,否則客戶每次安裝都要重新配置很麻煩。有些軟體學習曲線比較高,供應商應該提供立馬可以使用的模板。網路功能是現代pc客戶端的標配,相關邏輯一定要處理好。以上的話,都是我個人的開發總結,供大家參考。