【Python-tkinter】实现简单的文本编辑器(附带教程源码)

news/2024/11/17 0:27:03/

如果你也是刚入门的小伙伴呢,小编为你们准备了入门Python学习籽料和Python入门实践,点击领取(无偿获得)
在这里插入图片描述

利用tkinter实现简单的文本编辑器。创建一个简单的文本编辑器。可以用读文件的方式在一个文本域里显示一些文字供用户编辑。

当用户退出程序时(通过 QUIT 按钮)会询问用户是否保存所作的修改。

(直接上代码有注释

 1 # -\*- encoding: utf-8 -\*-2 '''3 @File    :   简单文本编辑器.py4 @Time    :   2020/04/05 11:35:395 @Author  :   Konggu 6 @Desc    :   None7 '''8 import os 9 import tkinter as tk
10 import tkinter.messagebox
11 from functools import partial as pto
12 from tkinter import filedialog, dialog
13 
14 path = r'F:\\Python\\网络通信编程技术(2020-3-5)\\第五周作业\\\\'
15 file\_text = ''
16 window = tk.Tk()
17 window.title('啊嘞嘞?')    # 窗口标题
18 window.geometry('500x300')    # 窗口尺寸
19 t1 = tk.Text(window, width=50, height=10, bg='palegreen', font=(12))
20 t1.pack()
21 
22 # 打开文件
23 def open\_file():
24     file\_path = filedialog.askopenfilename(title=u'选择文件', initialdir=(os.path.expanduser(path)))   # 文件选择框(选择文件)
25     with open(file=file\_path, mode='r+', encoding='utf-8') as f:
26         file\_text = f.read()      # 读文件
27     t1.insert('insert', file\_text)
28 
29 # 保存文件
30 def save():
31     file\_path = path + '文件.txt'       # 指定一个路径
32     file\_text = t1.get('1.0', tk.END)
33     if file\_path is not None:
34         with open(file=file\_path, mode='w', encoding='utf-8') as f:       # 保存到指定路径
35 f.write(file\_text)
36         t1.delete('1.0', tk.END)
37         print("保存成功")
38         tkinter.messagebox.showinfo(title='提示',message='保存成功!')
39 
40 # 退出
41 def quit():
42     res = tk.messagebox.askokcancel(title = '等一下!',message='保存一手吗?')      # 弹出框,可选(确定/取消)
43     print(res)
44     if res:
45 save()
46 window.quit()
47     else:
48         pass
49 
50 def main():
51     bt1 = tk.Button(window, text='打开文件', width=15, height=2, command=open\_file)
52 bt1.pack()
53     bt2 = tk.Button(window, text='退出', width=15, height=2, command=quit)
54 bt2.pack()
55 window.mainloop()
56 
57 
58 if \_\_name\_\_ == "\_\_main\_\_":
59     main()

最后的效果:

单击 “打开文件” :

“文件.txt” 里的内容:

选择 “文件.txt” 打开,效果:

可以在上面的文本框里进行编辑:

当单击 “退出” 时,弹出 “是否保存文件” 的对话框:

单击确定即可在原文件保存:

然后我们看到,“文件.txt” 里的内容已经改变:

这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
在这里插入图片描述


http://www.ppmy.cn/news/1531283.html

相关文章

【STM32系统】基于STM32设计的智能垃圾桶(语音、颜色识别、称重、光强、烟雾、人体识别、步进电机、水泵)——文末资料下载

基于STM32设计的智能垃圾桶 演示视频: 基于STM32设计的智能垃圾桶 功能简介: 四个按键可分别打开四个垃圾桶(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾) oled显示屏显示四个垃圾桶的打开/关闭状态、烟雾浓度、光照强度、称重的重量和识别到的颜色(白色、红色、绿色、蓝…

基于C+++Mysql实现(CS界面)图书管理系统

图书管理系统 实验内容、步骤以及结果 做出数据流图和数据字典。 在数据流图和字典的基础上做出 E-R 图(概念结构设计)。 学生: 图书: 管理员: 汇总: 在 E-R 图基础上进行关系模式设计(至少满足 3NF)&am…

【专题】2024年中国白酒行业数字化转型研究报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p37755 消费人群趋于年轻化,消费需求迈向健康化,消费场景与渠道走向多元化,这些因素共同驱动企业凭借数据能力来适应市场的变化。从消费市场来看,消费群体、需求、场景及渠道皆展现出与…

基于MaxScale搭建MariaDB读写分离集群的方法【2024年最新版】

1、什么是MaxScale MaxScale是MariaDB数据库的一个中间件,为MariaDB提供代理服务,主要可以实现读写分离和一定的负载均衡功能,其中读写分离可将读操作和写操作分离到不同的数据库服务器上,以提高系统的整体性能和扩展性&#xff…

RHCSA认证-Linux(RHel9)-Linux入门

文章目录 概要一、创建、查看和编辑⽂本1.1 输出重定向1.2 vim编辑器1.3 shell 变量1.5 获取帮助 二、管理本地用户和组2.1 描述用户2.2 切换用户和赋权2.3 用户管理2.4 用户组管理2.5 密码策略 三、控制文件访问3.1 列出文件和文件权限3.2 更改文件权限和拥有者3.3 控制默认权…

Docker实践与应用

引言 在现代软件开发中,Docker以其独特的容器化技术正在迅速改变传统的应用部署方式。Docker不仅提供了应用的便携性和一致性,还有效地解决了环境配置问题。本文将深入探讨Docker的安装、使用、最佳实践及其在实际项目中的应用,帮助开发者更…

前端项目如何使用思源字体

在前端项目中使用思源字体(微软字体商用收费如微软雅黑)可以通过以下几种方式实现: 1. 使用 CDN 引入字体 你可以通过公共 CDN 来引入思源字体,像 Google Fonts 或 Adobe Fonts 提供的思源字体服务。 步骤: 在你的…

assert 语句的主要用途是什么?

assert 语句在 Python 中用于调试目的,主要用于在代码中设置检查点,以确保程序中的某个条件为真。如果条件为假(即表达式的结果为 False),则 assert 会抛出一个 AssertionError 异常。虽然 assert 很有用,但…