python學習筆記之11:圖像用戶界面


這里會介紹如何創建python程序的圖像用戶界面(GUI),也就是那些帶有按鈕和文本框的窗口等。目前支持python的所謂“GUI工具包”的有很多,本文簡要介紹最成熟的跨平台pythonGUI工具包---wxPython。

 

一. 下載和安裝wxPython

1.1 下載

訪問下載頁面:http://wxpython.org/download.php即可。

要注意以下幾點:

1. 如果是windows系統,應該下載預建的二進制版本,可以選擇支持Unicode或不支持Unicode,除非一定要用到Unicode,否則2個版本的區別不大;

2. 確保所選擇的二進制版本要對應Python版本,比如python2.3對應的wxpython不能用於python2.4;

3. 如果沒有任何版本適合硬件或操作系統,可以下載源代碼發布版;

4. 在下載了wxpyhton之后,強烈建議下載演示版本(demo,它需要獨立安裝),它包含文檔,示例程序和非常詳細的演示分布。

 

1.2 安裝

安裝過程很簡單,都是自動完成的,一直點“continue”就好了。

安裝完畢之后,建議重新打開IDLE窗口,否則驗證安裝是否成功時會一直提示如下錯誤:

>>> import wx
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named wx

ps:LZ我就是在安裝完之后,忘記重啟IDLE窗口,導致import wx時一直提示這個錯誤,以為安裝失敗了。

導入wx模塊成功的話,不會有其他提示。如下是我的wxPython安裝目錄,請拖到最后查看,最后一個目錄為:'C:\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode':

>>> import sys
>>> print sys.path
['D:/python', 'C:\\Python27\\Lib\\idlelib', 'C:\\Python27\\Lib\\site-packages\\wx-2.8-msw-unicode\\wxPython', 'C:\\Python27\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\wx-2.8-msw-unicode']
>>> import wx
>>> 

正如前面一章《模塊和包》中講到的,sys.path中的內容就是告訴解釋器去哪里找模塊。現在wx在sys.path路徑下,證明wx已經被python識別為一個模塊,可以正常使用了。

 

二.使用

在學習的過程中,我發現一個很好的能夠學習wxPython的網站,跟大家分享一下:http://wiki.woodpecker.org.cn/moin/WxPythonInAction

這里介紹里面講到的一個最基本的wxPython程序:

import wx  #導入wxPython包;(必須的步驟class Frame(wx.Frame):  # 定義一個wx.Frame的子類,以便我們更容易控制框架的內容和外觀;
    def __init__(self,image,parent = None,id = -1,
                 pos = wx.DefaultPosition,
                 title = 'Hello,wxPython!'):   #給框架的構造器增加一個圖像參數,后面的應用程序會提供;
#下面是顯示圖像的步驟: temp
= image.ConvertToBitmap() size = temp.GetWidth(),temp.GetHeight() wx.Frame.__init__(self, parent, id, title, pos, size) self.bmp = wx.StaticBitmap(parent = self,bitmap = temp) class App(wx.App): #定義一個帶有OnInit()方法的wx.App的子類,這是wxpython應用程序最基本的要求;必須的步驟 def OnInit(self): 必須的步驟
#下面是對圖像的處理: image
= wx.Image('D:\\python\\wxpython.jpg',wx.BITMAP_TYPE_JPEG) self.frame = Frame(image) self.frame.Show() self.SetTopWindow(self.frame) return True myapp = App() #創建一個應用程序類的實例;必須的步驟 myapp.MainLoop() #進入這個應用程序的主事件循環;必須的步驟

 

ps:LZ我也才入門wxpython,暫時也就只能分享到這里了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM