Python使用wxpython制作简单文本编辑器

2023-05-16

欢迎大家访问我的网站发现更多内容:omegaxyz.com
下面的python代码实现了一个简单的文本编辑器,可以实现编辑加载和保存操作。

真个界面是实用wxpython来构建的。wxpython是一个GUI图形界面的库。允许Python程序员很方便的创建完整的、功能键全的GUI用户界面。

另外这个文本编辑器还有些不足,包括利用os.exists()来新建文件,但是对已创建的文件效果是可以的。我将在下一代文本编辑器增加各种功能。

这个文本编辑器没有什么实用价值,仅当学习。

下面给出代码:

import wx
import os

app = wx.App()
win = wx.Frame(None, title="TXT Editor", size=(1000, 666))

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()
    win = wx.Frame(None, title='TXT Editor')
    button = wx.Button(win, label='保存成功')
    win.Show()

openBtn = wx.Button(bkg, label='浏览')
openBtn.Bind(wx.EVT_BUTTON, openFile)

saveBtn = wx.Button(bkg, label='保存')
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()

这里写图片描述
更多内容请访问我的网站:omegaxyz.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python使用wxpython制作简单文本编辑器 的相关文章

  • 课程设计旅游景点咨询系统

    欢迎访问我的网站 xff1a omegaxyz com 问题描述 xff1a 创建一个至少有15个点的有向网表示的某个旅游景点的导游图 顶点代表景点 类型为字符串 xff08 例如 xff0c 泰山导游图 xff1a 天地广场门 xff0c
  • Android Studio程序无法加载到虚拟机解决方法

    阅读原文 xff1a 我的博客 xff1a omegaxyz com 安装玩Android studio之后创建一个项目 hello world 具体描述为 xff1a Waiting for target device to come o
  • windows系统C盘越来越大怎么办(包括win10)

    欢迎访问我的网站 xff1a omegaxyz com 对于Mac电脑来说 xff0c 不必太过担心垃圾清理 至于Windows用户电脑垃圾会越来越多 使用360和CCleaner已经满足不了用户的需求了 另外Win10在更新过程中会产生许
  • 企业信息化IT架构方法

    一 顶层业务架构 上 xff1a 打通上游供应商 中 xff1a 打通内部各业务部门 xff1b 打通各业务部门和财务部门 中 xff1a 打通各地区域 分支机构 下 xff1a 打通仓储物流 渠道分销 服务商 外 xff1a 打通电子商务
  • 教你用python高效刷leetcode

    由于Python语法的简洁性 xff0c 用python来刷leetcode往往能用比别的语言更少的代码量AC 但是如果不是对python很熟悉就会比较尴尬了 xff0c 如果有些功能明明有高效的内置方法因为不知道要自己实现 或者不了解其复
  • C语言和JAVA的区别在哪里?

    欢迎访问我的网站 xff1a omegaxyz com 1 Java与C语言各自的优势 C语言是面向过程的语言 xff0c 执行效率高 Java是面向对象的语言 xff0c 执行效率比C语言低 C语言最关键的是比Java多了指针 xff0c
  • 一分钟认识JAVA与Android的联系与区别

    欢迎访问我的网站 xff1a omegaxyz com Android是一种以Linux为基础的开放源码操作系统 JAVA是一种面向对象的编程语言 Android上的应用大多数是用JAVA开发的 xff0c 但是Android SDK引用了
  • 什么是前端开发工程师?

    欢迎访问我的网站 xff1a omegaxyz com 概述 前端工程师 xff0c 也叫Web前端开发工程师 他是随着web发展 xff0c 细分出来的行业 Web前端开发技术主要包括三个要素 xff1a HTML CSS和JavaScr
  • MATLAB常用数学函数

    欢迎访问我的网站 xff1a omegaxyz com abs x xff1a 纯量的绝对值或向量的长度 angle z xff1a 复数z的相角 Phase angle sqrt x xff1a 开平方 real z xff1a 复数z的
  • JAVA入门

    欢迎访问我的网站 xff1a omegaxyz com 工欲善其事 xff0c 必先利其器 首先先要下载JAVA IDE xff08 集成开发环境 xff08 IDE xff0c Integrated Development Environ
  • 编程语言(C语言,JAVA),程序设计,APP开发,算法

    更多精彩内容访问 我的网站omegaxyz com 或者关注我的公众号图灵技术域
  • 利用JavaScript批量删除QQ空间说说(只需一个浏览器)

    每个人都有历史 xff0c 记录说说是保存瞬间思想的最好方式 xff0c 但时间久了 xff0c 我们发现从前的灵光闪现是多么的好笑 xff0c 于是我们开始删说说 xff0c 可是说说那么多 xff0c 哎算了重注册一个QQ号吧 别这样
  • 浅析计算机科学在经济犯罪中的特征与表现

    原创文章 xff0c 转载请注明出处 xff1a http www omegaxyz com 2017 06 27 ecocriminallawessay 摘要 xff1a 大数据时代已经来临 与此同时计算机经济犯罪也呈现愈演愈烈的势态 它
  • 稳定排序和不稳定排序

    选择排序 快速排序 希尔排序 堆排序不是稳定的排序算法 xff0c 而冒泡排序 插入排序 归并排序和基数排序是稳定的排序算法 首先 xff0c 排序算法的稳定性大家应该都知道 xff0c 通俗地讲就是能保证排序前2个相等的数其在序列的前后位
  • 程序员必备网站

    1 CSDN http www csdn net CSDN Chinese Software Developer Network 创立于1999年 xff0c 是中国最大的IT社区和服务平台 xff0c 为中国的软件开发者和IT从业者提供知
  • ora 01017问题解决办法

    SQL gt startup ORACLE instance started Total System Global Area 914358272 bytes Fixed Size 2088184 bytes Variable Size 5
  • 数据结构串的基本操作及KMP算法

    将串的基本操作C语言实现 xff0c 实现KMP算法算出NEXT函数和NEXTVAL的值 SqString h的基本内容 span class hljs keyword typedef span span class hljs keywor
  • JAVA经典面试题(来源于互联网)

    面向对象编程 xff08 OOP xff09 Java是一个支持并发 基于类和面向对象的计算机编程语言 下面列出了面向对象软件开发的优点 xff1a 代码开发模块化 xff0c 更易维护和修改 代码复用 增强代码的可靠性和灵活性 增加代码的
  • 规则绝对公平时,社会财富的流向谁?

    从知乎有一个很有趣的问题 xff1a 房间里有100个人 xff0c 每人都有100元钱 xff0c 如果每过一分钟 xff0c 每个人都要拿出一元钱随机给另一个人 xff0c 最后这100个人的财富分布是怎样的 xff1f 这个问题 xf
  • 2017程序员综合素质调研测试

    只要志愿选得好 xff0c 年年期末是高考 高等数学 线性代数 C语言 计算机导论 数据结构 离散数学 电子技术 C 43 43 程序设计 汇编语言程序设计 计算机组成原理 编译原理 操作系统 数据库原理 JAVA程序设计 Python 下

随机推荐

  • 机器学习非平衡数据集概述

    定义 xff1a 不平衡数据集 xff1a 在分类等问题中 xff0c 正负样本 xff0c 或者各个类别的样本数目不一致 研究不平衡类通常认为不平衡意味着少数类只占比10 20 实际上 xff0c 一些数据集远比这更不平衡 例如 xff1
  • 汇编语言32位加减乘除运算题

    用16位指令编制程序 xff0c 处理32位的加减乘除算术四则运算题 本文计算 xff08 3 X 43 Y Z xff09 5的值 值分别为 xff1a span class hljs built in x span dw span cl
  • 汇编语言字符串比较与查找

    答案仅供参考 xff0c 大家还是自己写比较好 汇编语言实现 用字符串处理指令编制程序 xff0c 处理字符串的比较和查找 xff0c 显示结果 要求 xff1a xff08 1 xff09 字符串的比较函数中 xff0c 一个字符串在数据
  • 汇编语言数据段查找ASCII码并回显

    实验要求 xff1a 在数据段预先存放16个十六进制的ASCII码 xff0c 首地址为ASC 从键盘输入一位十六进制数到BX xff0c 用ASC BX xff08 寄存器相对寻址 xff09 寻址方式找到对应数位的ASCII码 xff0
  • 汇编语言将正负数复制到不同的数组

    分离字数组ARRAY中的正 xff0c 负数 xff0c 把其中的正数复制到PDATA数组 xff1a 负数复制到NDATA数组 xff0c 并分别统计正 负数个数 DATAS SEGMENT array dw span class hlj
  • JAVA工程师最新面试题(来源于互联网)

    面向对象编程 xff08 OOP xff09 Java是一个支持并发 基于类和面向对象的计算机编程语言 下面列出了面向对象软件开发的优点 xff1a 代码开发模块化 xff0c 更易维护和修改 代码复用 增强代码的可靠性和灵活性 增加代码的
  • 关于内存溢出异常的查看以及解决办法

    内存溢出 又称为OOM OutOfMemoryError 处理内存溢出 首先要查看是否是由于内存泄露 Memory Leak 造成的内存溢出 Memory Overflow 可以使用内存影响分析工具 如 Eclipse Memory Ana
  • JAVA基本程序设计规范

    1 标识符是程序中用于命名诸如变量 常量 方法 类 包之类元素的名称 2 标识符是由字母 数字 下划线 和美元符号 构成的字符序列 标识符必须以字母或下划 开头 xff0c 不能以数字开头 标识符不能是保留字 标识符可以为任意长度 3 变量
  • 多目标优化问题概述

    图片不清楚请看多目标问题详解 xff1a 多目标问题详解 更多内容访问omegaxyz com 定义 xff1a 若干冲突或相互影响条件约束下在给定区域内寻找尽可能的最优解 xff08 非劣解 xff09 关键词 xff1a 条件约束 xf
  • NSGA2算法中文版详细介绍

    NSGA2主要是对NSGA算法的改进 NSGA是N Srinivas 和 K Deb在1995年发表的一篇名为 Multiobjective function optimization using nondominated sorting
  • 特征选择算法综述

    特征选择 xff08 feature selection xff09 作为一种常见的降维方法是模式识别的研究热点之一 它是指从原始特征集中选择使某种评估标准最优的特征子集 其目的是使选出的最优特征子集所构建的分类或回归模型达到和特征选择前近
  • 多目标优化详解【转载】

    欢迎大家访问我的网站发现更多内容omegaxyz com 多目标优化问题详解 生活中 许多问题都是由相互冲突和影响的多个目标组成 人们会经常遇到使多个目标在给定区域同时尽可能最佳的优化问题 也就是多目标优化问题 优化问题存在的优化目标超过一
  • Python 编写规范

    用IDE写Python编写时有时会有标记 xff0c 但是程序能正常运行 xff0c 这里的标记是python编写不规范 xff0c 下面给出一些规范写法 一行列数 PEP 8 规定为 79 列 xff0c 这个太苛刻了 xff0c 如果要
  • Python求解排列中的逆序数个数

    在一个排列中 xff0c 如果一对数的前后位置与大小顺序相反 xff0c 即前面的数大于后面的数 xff0c 那么它们就称为一个逆序 一个排列中逆序的总数就称为这个排列的逆序数 一个排列中所有逆序总数叫做这个排列的逆序数 也就是说 xff0
  • Python利用shelve模块设计简单数据库程序

    欢迎访问我的网站omegaxyz com 利用shelve模块写数据库文件在程序关闭时仍然能存储之前的数据 将所有内容都放到函数中会让程序更加结构化 主程序放在main函数中 xff0c 只有在if name 61 61 main 条件成立
  • Python抓取网页图片

    网上的代码基本上都是python2 xff0c 这里的代码使用的是python3注意没有urllib2这个库了 要先做几个个准备工作 xff1a 找到有图片的网站 指定电脑保存路径 利用浏览器工具查看网页代码中图片的保存路径 xff08 非
  • Python统计txt文件中的英文单词个数

    函数 xff1a example strip 分离此行的单词 sum 函数的第一个参数是一个列表 xff08 list xff09 第二个参数可以直接省去 python风格的代码只要一行 xff1a span class hljs buil
  • 苏宁易购执行总裁任峻在IT体系年会上的讲话

    尊敬的董事长 xff0c 各位苏宁同事 xff1a 大家晚上好 xff01 中国人传统的新春佳节很快就要到了 xff0c 非常高兴大家又可以难得的聚在一起 xff0c 共同迎新 首先还是要感谢大家的辛勤付出和对公司作出的贡献 xff0c 在
  • n阶行列式计算Python和C语言实现

    行列式在数学中 xff0c 是一个函数 xff0c 其定义域为det的矩阵A xff0c 取值为一个标量 xff0c 写作det A 或 A 无论是在线性代数 多项式理论 xff0c 还是在微积分学中 xff08 比如说换元积分法中 xff
  • Python使用wxpython制作简单文本编辑器

    欢迎大家访问我的网站发现更多内容 xff1a omegaxyz com 下面的python代码实现了一个简单的文本编辑器 xff0c 可以实现编辑加载和保存操作 真个界面是实用wxpython来构建的 wxpython是一个GUI图形界面的