国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python使用wxpython開(kāi)發(fā)簡(jiǎn)單記事本的方法

2020-02-23 01:18:19
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了python使用wxpython開(kāi)發(fā)簡(jiǎn)單記事本的方法。分享給大家供大家參考。具體分析如下:

wxPython是Python編程語(yǔ)言的一個(gè)GUI工具箱。他使得Python程序員能夠輕松的創(chuàng)建具有健壯、功能強(qiáng)大的圖形用戶界面的程序。它是Python語(yǔ)言對(duì)流行的wxWidgets跨平臺(tái)GUI工具庫(kù)的綁定。而wxWidgets是用C++語(yǔ)言寫(xiě)成的。

和Python語(yǔ)言與wxWidgetsGUI工具庫(kù)一樣,wxPython是開(kāi)源軟件。這意味著任何人都可以免費(fèi)地使用它并且可以查看和修改它的源代碼,或者貢獻(xiàn)補(bǔ)丁,增加功能。

wxPython是跨平臺(tái)的。這意味著同一個(gè)程序可以不經(jīng)修改地在多種平臺(tái)上運(yùn)行。現(xiàn)今支持的平臺(tái)有:32位微軟Windows操作系統(tǒng)、大多數(shù)Unix或類(lèi)Unix系統(tǒng)、蘋(píng)果MacOS X。

下面使用wxpython編寫(xiě)一個(gè)簡(jiǎn)單的記事本程序,可以打開(kāi)本地文件,編輯,保存。

#!/usr/bin/python import wx def OnOpen(event):   """   Load a file into the textField.   """   dialog = wx.FileDialog(None,'Notepad',style = wx.OPEN)   if dialog.ShowModal() == wx.ID_OK:     filename.SetValue(dialog.GetPath())     file = open(dialog.GetPath())     contents.SetValue(file.read())     file.close()   dialog.Destroy() def OnSave(event):   """   Save text into the orignal file.   """   if filename.GetValue() == '':     dialog = wx.FileDialog(None,'Notepad',style = wx.SAVE)     if dialog.ShowModal() == wx.ID_OK:       filename.SetValue(dialog.GetPath())       file = open(dialog.GetPath(), 'w')       file.write(contents.GetValue())       file.close()     dialog.Destory()   else:     file = open(filename.GetValue(), 'w')     file.write(contents.GetValue())     file.close() app = wx.App() win = wx.Frame(None, title="Simple Editor", size=(600,400)) bkg = wx.Panel(win) # Define a 'load' button and its label, # bind to an button event with a function 'load' loadButton = wx.Button(bkg, label='Open') loadButton.Bind(wx.EVT_BUTTON, OnOpen) # Define a 'save' button and its label, # bind to an button event with a function 'save' saveButton = wx.Button(bkg, label='Save') saveButton.Bind(wx.EVT_BUTTON, OnSave) # Define a textBox for filename. filename = wx.TextCtrl(bkg) # Define a textBox for file contents. contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE | wx.HSCROLL) # Use sizer to set relative position of the components. # Horizontal layout hbox = wx.BoxSizer() hbox.Add(filename, proportion=1, flag=wx.EXPAND) hbox.Add(loadButton, proportion=0, flag=wx.LEFT, border=5) hbox.Add(saveButton, proportion=0, flag=wx.LEFT, border=5) # Vertical layout vbox = wx.BoxSizer(wx.VERTICAL) vbox.Add(hbox, proportion=0, flag=wx.EXPAND | wx.ALL, border=5) vbox.Add(contents, proportion=1,      flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border=5) bkg.SetSizer(vbox) win.Show() app.MainLoop() 

運(yùn)行效果如下圖所示:

這個(gè)例子是《Python基礎(chǔ)教程》中的一個(gè)例子,并做了一些修改。雖然完成了基本的記事本功能,但是界面略顯簡(jiǎn)單,而且代碼也沒(méi)有很好地遵循面向?qū)ο缶幊淘瓌t。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 招远市| 民县| 汉阴县| 赣榆县| 灵宝市| 新乡县| 云龙县| 奉新县| 偃师市| 文登市| 郸城县| 安福县| 昌宁县| 堆龙德庆县| 江安县| 平山县| 榕江县| 乡城县| 阳谷县| 新平| 吉隆县| 巴东县| 迭部县| 宁远县| 孙吴县| 固始县| 日照市| 高陵县| 千阳县| 托克逊县| 龙川县| 家居| 正镶白旗| 平阳县| 天水市| 江油市| 綦江县| 龙里县| 兴宁市| 成安县| 沙湾县|