對(duì)Python程序?qū)W習(xí)過(guò)程總結(jié)
Python程序?qū)W習(xí)時(shí),你需要注意一些問(wèn)題,比如代碼編程和調(diào)試過(guò)程中的問(wèn)題,這些一定要仔細(xì)和認(rèn)真,Python程序?qū)W習(xí)之前是要深入理解到底什么是Python,及他是怎么構(gòu)成的。
雖然以上實(shí)現(xiàn)的功能很簡(jiǎn)單,但是我們確實(shí)建立了一個(gè)屬于自己的服務(wù)器,一個(gè)按照自己定義的協(xié)議提供服務(wù)的server。開(kāi)發(fā)的速度是不是很快呢?正如Twisted網(wǎng)站上說(shuō)的Develop servers at lightning speed(閃電般的速度)。
只要將具體的協(xié)議做進(jìn)一步的擴(kuò)展,就能建立起功能強(qiáng)大的服務(wù)器了。在這里所提到的Twisted的功能僅僅是這座寶藏的冰山一角,在這里就不進(jìn)一步去闡述了。有興趣的朋友可以從Twisted的網(wǎng)站得到更多的信息。
但是別忘了,wxPython可是沒(méi)有.NET平臺(tái)的限制的哦。同時(shí)你從wxSimpleApp和wxFrame這樣的類(lèi)名是不是聯(lián)想到了MFC的中Frame類(lèi)、App類(lèi)和Doc類(lèi)呢?是的,wxPython也是通過(guò)相同的方式實(shí)現(xiàn)了MVC,使得整個(gè)GUI代碼更加清晰,更加易于維護(hù)。如果你還不過(guò)癮,嫌這個(gè)太簡(jiǎn)單,那就再來(lái)一個(gè)更加豐富的:
- from wxPython.wx import *
- ID_ABOUT=101
- ID_EXIT=110
- class MainWindow(wxFrame):
- def __init__(self,parent,id,title):
- wxFrame.__init__(self,parent,wxID_ANY, title, size = (400,200), style=wxDEFAULT_FRAME_STYLE|wxNO_FULL_REPAINT_ON_RESIZE)
- self.control = wxTextCtrl(self, 1, style=wxTE_MULTILINE)
- filemenu= wxMenu()
- filemenu.Append(ID_ABOUT, "&About"," Information about this program")
- filemenu.AppendSeparator()
- filemenu.Append(ID_EXIT,"E&xit"," Terminate the program")
- menuBar = wxMenuBar()
- menuBar.Append(filemenu,"&File") # Adding the "filemenu" to the MenuBar
- self.SetMenuBar(menuBar) # Adding the MenuBar to the Frame content.
- EVT_MENU(self, ID_ABOUT, self.OnAbout)
- EVT_MENU(self, ID_EXIT, self.OnExit)
- self.Show(true)
- def OnAbout(self,e):
- d= wxMessageDialog( self, " A sample editor "
- " in wxPython","About Sample Editor", wxOK)
- d.ShowModal()
- d.Destroy()
- def OnExit(self,e):
- self.Close(true) # Close the frame.
- app = wxPySimpleApp()
- frame = MainWindow(None, -1, "Sample editor")
- app.MainLoop()
以上的代碼中的MainWindow類(lèi)繼承了wxFrame,并且為這個(gè)frame增加了一個(gè)wxTextCtrl控件,同時(shí)增加了一個(gè)菜單和對(duì)于菜單項(xiàng)的事件處理。它的簡(jiǎn)潔是不是讓你心動(dòng)了呢?趕緊到Python程序?qū)W習(xí)的網(wǎng)站去獲得更多的信息吧。以上的代碼均引自wxPython網(wǎng)站的Getting Started。
除了這種方式開(kāi)發(fā)GUI之外,利用Python程序?qū)W習(xí)與CLR的協(xié)作能力,也可以通過(guò)調(diào)用WinForms的API,很輕松地進(jìn)行GUI的開(kāi)發(fā),甚至是一種交互式的開(kāi)發(fā)。詳細(xì)的信息可以參考IronPython的老爸Jim的blog,上面有一篇很有趣的Post。
【編輯推薦】