欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python中使用wxPython开发的一个简易笔记本程序实例

程序员文章站 2023-11-26 12:11:58
一、简介 wxpython是python语言的一套优秀的gui图形库,允许python程序员很方便的创建完整的、功能键全的gui用户界面。 wxpython是作为优秀的跨...

一、简介

wxpython是python语言的一套优秀的gui图形库,允许python程序员很方便的创建完整的、功能键全的gui用户界面。 wxpython是作为优秀的跨平台gui库wxwidgets的python封装和python模块的方式提供给用户的。

二、安装

参考官方网站:

三、demo

本demo是一个简单的记事本软件,可以打开文件,修改并保存。

import wx

app = wx.app()
win = wx.frame(
  none,
  title="simple editor",
  size=(410, 335))

bkg = wx.panel(win)


def openfile(evt):
  dlg = wx.filedialog(
    win,
    "open",
    "",
    "",
    "all files (*.*)|*.*",
    wx.fd_open | wx.fd_file_must_exist)
  filepath = ''
  if dlg.showmodal() == wx.id_ok:
    filepath = dlg.getpath()
  else:
    return
  filename.setvalue(filepath)
  fopen = open(filepath)
  fcontent = fopen.read()
  contents.setvalue(fcontent)
  fopen.close()


def savefile(evt):
  fcontent = contents.getvalue()
  fopen = open(filename.getvalue(), 'w')
  fopen.write(fcontent)
  fopen.close()

openbtn = wx.button(bkg, label='open')
openbtn.bind(wx.evt_button, openfile)

savebtn = wx.button(bkg, label='save')
savebtn.bind(wx.evt_button, savefile)

filename = wx.textctrl(bkg, style=wx.te_readonly)
contents = wx.textctrl(bkg, style=wx.te_multiline)

hbox = wx.boxsizer()
hbox.add(openbtn, proportion=0, flag=wx.left | wx.all, border=5)
hbox.add(filename, proportion=1, flag=wx.expand | wx.top | wx.bottom, border=5)
hbox.add(savebtn, proportion=0, flag=wx.left | wx.all, border=5)

bbox = wx.boxsizer(wx.vertical)
bbox.add(hbox, proportion=0, flag=wx.expand | wx.all)
bbox.add(
  contents,
  proportion=1,
  flag=wx.expand | wx.left | wx.bottom | wx.right,
  border=5)

bkg.setsizer(bbox)
win.show()
app.mainloop()

运行效果:

Python中使用wxPython开发的一个简易笔记本程序实例