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

作者:junjie 时间:2021-09-07 22:06:22 

一、简介

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

二、安装

参考官方网站:http://www.wxpython.org/download.php

三、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开发的一个简易笔记本程序实例

标签:Python,wxPython,笔记本
0
投稿

猜你喜欢

  • docker-py 用Python调用Docker接口的方法

    2023-04-07 03:15:46
  • SQL Transcation的一些总结分享

    2012-08-21 10:21:28
  • adodb.stream对象的方法/属性

    2008-06-07 08:14:00
  • python多线程中的定时器你了解吗

    2021-09-01 23:39:21
  • 使用SQL语句快速获取SQL Server数据字典

    2009-01-08 16:31:00
  • 一个20行左右的强$代码

    2009-12-25 15:22:00
  • Python多重继承之菱形继承的实例详解

    2022-08-06 20:29:11
  • Python3.x+pyqtgraph实现数据可视化教程

    2023-09-25 23:24:47
  • 使用python求解迷宫问题的三种实现方法

    2022-10-25 01:16:35
  • python进阶教程之模块(module)介绍

    2021-06-16 12:52:07
  • 大大改善用户体验的10个小细节

    2008-09-17 13:27:00
  • Python中使用PyHook监听鼠标和键盘事件实例

    2022-03-23 16:53:22
  • python操作oracle的完整教程分享

    2023-08-28 01:18:49
  • python logging日志模块原理及操作解析

    2022-10-30 02:44:31
  • pycharm部署django项目到云服务器的详细流程

    2021-05-27 23:32:19
  • 如何结束一个session变量

    2009-08-12 19:20:00
  • python 的 openpyxl模块 读取 Excel文件的方法

    2023-02-23 14:41:56
  • Oracle 添加用户并赋权,修改密码,解锁,删除用户的方法

    2009-10-14 11:37:00
  • Python中层次聚类的详细讲解

    2022-07-02 06:07:13
  • Python真题案例之二分法查找详解

    2023-09-23 01:39:07
  • asp之家 网络编程 m.aspxhome.com