Python-tkinter实现简单的文本编辑器

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

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

(直接上代码~有注释~)

 1 # -*- encoding: utf-8 -*-
 2 ‘‘‘
 3 @File    :   简单文本编辑器.py
 4 @Time    :   2020/04/05 11:35:39
 5 @Author  :   Konggu
 6 @Desc    :   None
 7 ‘‘‘
 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” 里的内容已经改变:

(如果有错误,欢迎指正!谢谢!)

原文地址:https://www.cnblogs.com/kong-gu/p/12650222.html

时间: 2024-11-02 10:40:03

Python-tkinter实现简单的文本编辑器的相关文章

简单的文本编辑器

#!/usr/bin/env python import wx class MainWindow(wx.Frame): def __init__(self, parent, title): wx.Frame.__init__(self, parent, title=title, size=(200,100)) self.control = wx.TextCtrl(self, style=wx.TE_MULTILINE) self.CreateStatusBar() # A Statusbar i

【Qt5开发及实例】12、实现一个简单的文本编辑器1

showwidget.h /** * 书本:[Qt5开发及实例] * 功能:实现一个简单的文本编辑器 * 文件:showwidget.h * 时间:2015年1月18日10:03:21 * 作者:cutter_point */ #ifndef SHOWWIDGET_H #define SHOWWIDGET_H #include <QWidget> #include <QLabel> #include <QTextEdit> #include <QImage>

【Qt5开发及实例】16、实现一个简单的文本编辑器(over)

实现一个简单的文本编辑器 其他具体的代码基础看前面:http://blog.csdn.net/cutter_point/article/details/42839071 1.功能 这个程序又添加了文本编辑功能,什么加粗,斜体,下划线,字体设置,字号设置,文字排版,段落对齐功能. 2.代码全展示 头文件 showwidget.h /** * 书本:[Qt5开发及实例] * 功能:实现一个简单的文本编辑器 * 文件:showwidget.h * 时间:2015年1月18日10:03:21 * 作者:

Python tkinter 实现简单登陆注册 基于B/S三层体系结构,实现用户身份验证

Python tkinter 实现简单登陆注册 最终效果 开始界面 ? 注册 登陆 ? 源码 login.py # encoding=utf-8 from tkinter import * from tkinter import messagebox as tkMessageBox import mysql_connect as mys import pymysql import base64 #加密 将用户的密码加密后储存到数据库 def encryption(str): str=str.en

原生JS实现简单富文本编辑器2

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

python语言学习4——使用文本编辑器

在Python的交互式命令行写程序,好处是一下就能得到结果,坏处是没法保存,下次还想运行的时候,还得再敲一遍. 所以,实际开发的时候,我们总是使用一个文本编辑器来写代码,写完了,保存为一个文件,这样,程序就可以反复运行了. 下载一个文本编辑器,不能使用windows自带的记事本和word能,那样保存的不是纯文本文件,会自己添加一些编码符什么的,会出错 下载地址:http://www.sublimetext.com/ 在sublime text文本编辑器中输入一个小程序 保存在一个目录下面(这里保

【Qt5开发及实例】14、实现一个简单的文本编辑器3

实现文本编辑器的图片旋转功能 基础界面实现:http://blog.csdn.net/cutter_point/article/details/42839071 首先在原来的基础上添加槽函数: void ShowRotate90(); //旋转90度 void ShowRotate180(); //180度 void ShowRotate270(); //270度 函数连接: //实现图片的选择动作 //旋转90° rotate90Action = new QAction(QIcon(":/ro

[小菜随笔]python tkinter实现简单的ping命令

本文主要是介绍python图形界面上的按键与实际功能的对接,其实编程掌握了基础之后的学习应该都是靠自己去挖掘其他的 在网上发现多半教程都是2的,故本文使用的是python3.5,其实也没什么区别,就有一些支持库改变而已 首先我们使用python去编写一个简单的窗口程序,带一个按键,如下图 from tkinter import * #导入tk包 import os #导入os包,方便执行cmd命令,网上还有其他方法执行 test = Tk() #创建一个窗口程序 test.title('ping

【Qt5开发及实例】15、实现一个简单的文本编辑器4

实现图片的镜像功能 其他具体的代码基础看前面:http://blog.csdn.net/cutter_point/article/details/42839071 槽函数: void ShowMirrorVertical(); //垂直镜像 void ShowMirrorHorizontal(); //水平镜像 相应的响应连接 //实现图像镜像的动作 //纵向 mirrorVerticalAction = new QAction(QIcon("mirrorVertical.png"),