Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337794
  • 博文数量: 148
  • 博客积分: 2745
  • 博客等级: 少校
  • 技术积分: 1704
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-30 14:59
文章分类

全部博文(148)

文章存档

2013年(97)

2012年(7)

2011年(3)

2010年(41)

我的朋友

分类: Python/Ruby

2010-05-04 20:06:25

前几天无聊,在网上看别人写了一个,写了一个东西非常的好玩,感觉python开发软件也不错,开发效率比较高,于是自己也学了点wxpython的前面一点内容,自己写了个例子玩玩:

import os

import sys

import wx

ID_OPEN = 101

ID_EXIT = 110

ID_SAVE = 111

ID_BUTTON = 112



class MainWindow(wx.Frame):

""" We simply derive a new class of Frame. """

def __init__(self, parent, id, title):

wx.Frame.__init__(self, parent, id, title, size=(500,100))

self.control = wx.TextCtrl(self, 1, style=wx.TE_MULTILINE)

self.CreateStatusBar()

filemenu = wx.Menu()

filemenu.Append(ID_OPEN,"打开文件","open file")

filemenu.AppendSeparator()

filemenu.Append(ID_SAVE,"保存文件"," save file")

filemenu.AppendSeparator()

filemenu.Append(ID_EXIT,"退出","exit")

menuBar = wx.MenuBar()

menuBar.Append(filemenu,"文件")

self.SetMenuBar(menuBar)

wx.EVT_MENU(self,ID_OPEN,self.open)

wx.EVT_MENU(self,ID_EXIT,self.exit)

wx.EVT_MENU(self,ID_SAVE,self.save)

self.sizer2 = wx.BoxSizer(wx.HORIZONTAL)

self.buttons = []



# for i in range(0,6):

# self.buttons.append(wx.Button(self,ID_BUTTON+i,"Button &"+'i'))

# self.sizer2.Add(self.buttons[i],1,wx.EXPAND)

self.sizer = wx.BoxSizer(wx.VERTICAL)

self.sizer.Add(self.control,1,wx.EXPAND)

self.sizer.Add(self.sizer2,0,wx.EXPAND)

self.SetSizer(self.sizer)

self.SetAutoLayout(1)

self.sizer.Fit(self)



self.Show(True)



def exit(self,e):

'''用户退出窗口'''

self.Close(True)



def open(self,e):

'''打开文件 '''

self.dirname = ''

dlg = wx.FileDialog(self,"chose a file",self.dirname,"","*.*",wx.OPEN)



if dlg.ShowModal() == wx.ID_OK:

self.filename = dlg.GetFilename()

self.dirname = dlg.GetDirectory()

f = open(os.path.join(self.dirname,self.filename),'r')

self.control.SetValue(f.read())

f.close()

dlg.Destroy()



def save(self,e):

'''保存文件'''

try:

f = open(os.path.join(self.dirname,self.filename),'w')

except AttributeError:

print '文件不存在'

sys.exit(0)



content = self.control.GetValue()

try:

f.write(content)

except UnboundLocalError:

print '文件不存在'

sys.exit(0)

finally:

f.close()





app = wx.PySimpleApp()

frame=MainWindow(None,-1, 'Small editor')

app.MainLoop()

直接运行就可以生成一个窗口,有打开和关闭的功能,其他的功能没有完善,有兴趣的朋友可以学习下,然后到 里和大家一起分享你的成果吧!
阅读(909) | 评论(0) | 转发(0) |
0

上一篇:python 学习

下一篇: python 学习

给主人留下些什么吧!~~