python写简单文本编辑器_python使用wxPython创建一个简单的文本编辑器。

ubuntu下通过'sudo apt-get install python-wxtools'下载wxPython.

load和save函数用于加载和保存文件内容,button通过Bind函数绑定这两个函数用于进行事件处理。

BoxSizer(尺寸器)可以动态调整窗口布局。

下面的代码实现了一个简单的文本编辑器,可以实现编辑加载和保存操作。

import wx

def load(event):

file = open(filename.GetValue())

contents.SetValue(file.read())

file.close()

def save(event):

file = open(filename.GetValue(), 'w')

file.write(contents.GetValue())

file.close()

app = wx.App()

win = wx.Frame(None, title="Simple Editor", size=(410, 335))

bkg = wx.Panel(win)

loadButton = wx.Button(bkg, label='Open')

loadButton.Bind(wx.EVT_BUTTON, load)

saveButton = wx.Button(bkg, label='Save')

saveButton.Bind(wx.EVT_BUTTON, save)

filename = wx.TextCtrl(bkg)

filename.SetValue('test.txt')

contents = wx.TextCtrl(bkg, style=wx.TE_MULTILINE | wx.HSCROLL)

contents.SetValue("hello, I am wuyouwulv.\nthis is a python editor sample using wxPython plugins.\nto install wxPython,you can input \n\t'sudo apt-get install python-wxtools'\nunder ubuntu")

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)

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()

学习vi和vim编辑(3):一个简单的文本编辑器(2)

然后文章,继续评论vi编辑简单的文本编辑命令. 本文主要是删除的文字.复制,运动命令. 删除文本: 正如上一篇文章中讲过的,对于删除命令("d")也具有"(command ...

一个简单的文本编辑器。(是在DEV C++下写的)

//头文件// main.h #define CM_FILE_SAVEAS 9072 #define CM_FILE_EXIT 9071 #define CM_FILE_OPEN 9070 #defi ...

通过创建一个简单的骰子游戏来探究 Python

在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏.这次,我将展示如何使用 Python 模块 Pygame 来创建一个图形化游戏.它将需要几篇文章才 ...

Python框架学习之用Flask创建一个简单项目

在前面一篇讲了如何创建一个虚拟环境,今天这一篇就来说说如何创建一个简单的Flask项目.关于Flask的具体介绍就不详细叙述了,我们只要知道它非常简洁.灵活和扩展性强就够了.它不像Django那样集成 ...

Python创建一个简单的区块链

区块链(Blockchain)是一种分布式账本(listributed ledger),它是一种仅供增加(append-only),内容不可变(immutable)的有序(ordered)链式数据结构 ...

利用HTML5与jQuery技术创建一个简单的自动表单完成

来源:GBin1.com 在线演示   在线下载 谷歌快速搜索自带大量自动完成插件——库中甚至还有一个附带的jQuery UI共享选项.然而今天我要寻找一个替代的解决方案.由DevBridge开发的j ...

如何创建一个简单 APT 仓库

0. 无废话版本 需求: 有一堆 .deb 包,想把它们做成一个 APT 仓库,这样就可以用apk install pkgname进行安装了,这样一方面自己可以规避 dpkg -i xxx.deb 时 ...

使用 CodeIgniter 创建一个简单的 Web 站点

原文:使用 CodeIgniter 创建一个简单的 Web 站点 参考源自: http://www.ibm.com/developerworks/cn/web/wa-codeigniter/index ...

用django创建一个简单的sns

用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...

随机推荐

关于ajax请求返回类型问题

昨天遇到一个问题,是关于请求到的json数据没有正确渲染,打开谷歌调试器里面的network中的response,看到的是正常返回的json数据,打开json.cn,复制返回的数据,也能正常解析,但是 ...

Appium环境搭建Java篇

1.下载.安装JDK&配置Java环境变量 JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html ...

MySQL数据库的优化-运维架构师必会高薪技能,笔者近六年来一线城市工作实战经验

你可能感兴趣的:(python写简单文本编辑器)