python编写文本编辑器程序_Python实操!速收藏!学习使用Python创建文本编辑器应用程序...

朋友们,大家好,这次再次与作者见面,作者将发表一篇文章,介绍如何使用Python Tkinter创建文本编辑器。Tkinter是一个Python库,在您想要创建应用程序时非常有用。

立即讨论如何制作此文本编辑器应用程序。现在,我们要创建的编辑器具有非常简单的功能,可以编写文本,保存和打开包含文本的文件。作者将在此处使用Pycharm,如果尚未安装Pycharm应用程序,请直接在此网站https://www.jetbrains.com/pycharm/download/#section=windows上安装。

创建的文本编辑器将如下所示:

让我们开始制作应用程序。如果您已经安装了Pycharm IDE,则请朋友先打开它。然后,要创建一个新项目,请单击文件>新建项目,我们将被指示填写项目名称,然后单击创建。

然后它将显示如下:

之后,直接转到new并选择Python file,然后立即填写项目好友的名称。它将显示如下:

首先,我们导入所需的Tkinter类。

from tkinter import *

from tkinter import messagebox

from tkinter.filedialog import asksaveasfilename

from tkinter import filedialog

import os

from tkinter.messagebox import askokcancel

接下来,编写代码以在Tkinter中创建具有Frame类继承的SimpleEditor 类。是一个容器,用作放置控件以及标签文本或按钮的地方。为什么需要框架?因为我们将能够设置具有所需大小的应用程序窗口,所以我们还要放置一个已制作的标签,例如Frame显示:Frame

class SimpleEditor(Frame):

def __init__(self, parent=None, file=None):

Frame.__init__(self, parent)

self.frm = Frame(parent)

self.frm.pack(fill=X)

self.layoutKolom = Frame(root)

self.buatNamefile()

parent.title("Text editor")

self.buatTombol()

self.kolomTeksUtama()

self.indeks = 1.0

self.path = ''

完成后,为创建打开,保存和退出按钮的方法编写以下代码。

def buatTombol(self):

Button(self.frm, text='Open',relief='flat',command=self.openFile).pack(side=LEFT)

Button(self.frm, text='Save',relief='flat',command=self.perintahSimpan).pack(side=LEFT)

Button(self.frm, text='Exit',relief='flat',command=self.perintahKeluar).pack(side=LEFT)

为什么必须使用self.frm?目标是创建框架,例如按钮或工具栏的位置,因为此处的程序将在工具栏中具有打开,保存和退出按钮。然后relief='flat'使按钮打开,保存并退出平面按钮。

command=self.openFile 用于调用函数并执行openFile,Save和Exit命令。有什么功能.pack(side=LEFT)?目的是通过将布局调整到左侧来创建布局。将下面的源代码编写为主要文本列方法和滚动条。

def kolomTeksUtama(self):

scroll = Scrollbar(self)

kolomTeks = Text(self, relief=SUNKEN)

scroll.config(command=kolomTeks.yview)

kolomTeks.config(yscrollcommand=scroll.set)

scroll.pack(side=RIGHT, fill=Y)

kolomTeks.pack(side=LEFT, expand=YES, fill=BOTH)

self.kolomTeks = kolomTeks

self.pack(expand=YES, fill=BOTH)

该功能kolomTeksUtama用于容纳由朋友创建的所有程序文本,可以在“第一文本”列创建的显示中看到,如下所示:

然后对于保存文件的命令,输入如下源代码:

def perintahSimpan(self):

print(self.path)

if self.path:

alltext = self.gettext()

open(self.path, 'w').write(alltext)

messagebox.showinfo('Berhasil', 'Selamat File telah tersimpan ! ')

else:

tipeFile = [('Text file', '*.txt'),('Python file', '*asdf.py'),('All files', '.*')]

filename = asksaveasfilename(filetypes=(tipeFile),initialfile=self.kolomJudul.get())

if filename:

alltext = self.gettext()

open(filename, 'w').write(alltext)

self.path = filename

如果要退出文本编辑器,请为exit命令编写以下源代码。该命令Frame.quit(self)用于关闭Tkinter窗口。

def perintahKeluar(self):

ans = askokcancel('Exit', "anda yakin ingin keluar?")

if ans: Frame.quit(self)

完成后,现在在下面编写源代码,以便您可以读取文件的内容并将其显示在应用程序窗口中。

def settext(self, text='', file=None):

if file:

text = open(file, 'r').read()

self.kolomTeks.delete('1.0', END)

self.kolomTeks.insert('1.0', text)

self.kolomTeks.mark_set(INSERT, '1.0')

self.kolomTeks.focus()

def gettext(self):

return self.kolomTeks.get('1.0', END+'-1c')

编写源代码以制作标签“ File name:”,其功能是能够读取先前打开的文件的名称并显示它。

def buatNamefile(self):

self.layoutKolom.pack(fill=BOTH, expand=1, padx=17, pady=5)

judul = Label(self.layoutKolom, text="Nama file : ")

judul.pack(side="left")

self.kolomJudul = Entry(self.layoutKolom)

self.kolomJudul.pack(side="left")

接下来记下以下源代码,以便你可以打开文件:

def openFile(self):

extensiFile = [ ('All files', '*'), ('Text files', '*.txt'),('Python files', '*.py')]

open = filedialog.askopenfilename(filetypes = extensiFile)

if open != '':

text = self.readFile(open)

if text:

self.path = open

nama = os.path.basename(open)

self.kolomJudul.delete(0, END)

self.kolomJudul.insert(END, nama)

self.kolomTeks.delete('0.1',END)

self.kolomTeks.insert(END, text)

要打开文件,读取文本文件并还原文本文件,需要编写以下代码:

def readFile(self, filename):

try:

f = open(filename, "r")

text = f.read()

return text

except:

messagebox.showerror("Error!!")

return None

最后一步,编写以下代码以显示Tkinter应用程序。该mainloop()功能是为了防止应用程序窗口从马上关闭。

root = Tk()

SimpleEditor(root)

mainloop()

如果运行程序,则输出将如下所示

现在,如果单击打开,则保存并退出,如下所示:

参考:

https://www.youtube.com/watch?v=7PGFin30c4o

https://www.youtube.com/watch?v=D24Vx3_IM8U

[ http://repository.unpas.ac.id/28589/9/_III%20-%20BAB%20III%20EXPLORASI.pdf](http://repository.unpas.ac.id/28589/9/_III - BAB III EXPLORATION.pdf)

https://www.tutorialspoint.com/python/tk_relief.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值