怎么用Python制作简易的小说编辑器
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容介绍了"怎么用Python制作简易的小说编辑器"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年02月01日怎么用Python制作简易的小说编辑器
本篇内容介绍了"怎么用Python制作简易的小说编辑器"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
/具体实现/
小说阅读器的话,当然界面是少不了的,下面我们开始编写界面。 1、首先导入我们需要用到的包
import timefrom tkinter import messageboximport tkinter as tfrom tkinter import ttkfrom tkinter import filedialogfrom tkinter import simpledialog
2、编写主界面
class gui: def __init__(self): self.root=t.Tk() self.root.title('小说阅读器V1.0') #窗口名称 self.root.geometry("700x700") #设置窗口大小 self.root.wm_attributes('-topmost',1) #窗口置顶 self.root.wm_minsize(140, 170) # 设置窗口最小化大小 self.root.wm_maxsize(1440, 2800) # 设置窗口最大化大小 self.root.resizable(width=False, height=True) # 设置窗口宽度不可变,高度可变 self.te=t.Text(self.root,width=60,height=40) #多行文本框 self.b1= t.Button(self.root, text='打开文件',font =("宋体",10,'bold'),command=self.open_file) self.cb=ttk.Combobox(self.root, width=12) #下拉列表框 self.b2=t.Button(self.root,text='清空内容',command=self.clean) #按钮 self.l1=t.Label(self.root,text='请选择阅读速度:') #标签 self.cb['values'] = ('请选择-----','全部读取','一秒一行','两秒一行','自定义') #设置下拉列表框的内容 self.cb.current(0) #将当前选择状态置为0,也就是第一项 self.cb.bind("<>",self.go) #绑定go函数,然后触发事件 self.b1.place(x=30,y=30) self.b2.place(x=360,y=26) self.l1.place(x=130,y=30) self.te.place(x=30,y=60) self.cb.place(x=230,y=30) self.root.mainloop()
3、编写打开文件对话框的代码
def open_file(self): self.file=filedialog.askopenfilename(title='打开文件', filetypes=[('文本文件', '*.txt'), ('All Files', '*')]) return self.file
这样就打开了以文本文件为首的文件。
4、选择打开的文件进行读取
self.ff=open(self.file,'r', encoding='utf8')aa=self.ff.read()
5、将文件中的内容的所有空格换行去掉
self.ab=aa.replace('\n','').replace('\t','').strip()
6、实现下拉列表中每个选项的功能
if self.cb.get()=='请选择-----': pass elif self.cb.get()=='全部读取': if self.ab: self.te.insert('insert',self.ab) #插入内容 self.te.update() #更新内容 else: self.ff.close() elif self.cb.get()=='一秒一行': for y in range(len(self.ab)): #遍历文件内容 if self.ab: self.te.insert('insert',self.ab[y]) #插入内容 if y==0 and y!=0:#判断如果读取到十个字的长度则插入文本内容到文本框并换行 self.te.insert('insert','\n') #插入换行 self.te.update() #更新内容 else: time.sleep(0.1) #每隔0.1秒显示一个,一行十个字,就能达到一秒出一行 else: self.ff.close() #关闭文件 elif self.cb.get()=='两秒一行': for y in range(len(self.ab)): if self.ab: self.te.insert('insert',self.ab[y]) if y==0 and y!=0: self.te.insert('insert','\n') self.te.update() else: time.sleep(0.2) else: self.ff.close() elif self.cb.get()=='自定义': res=simpledialog.askinteger(title='请输入',prompt='几秒读取一行:',initialvalue= '') for y in range(len(self.ab)): if self.ab: self.te.insert('insert',self.ab[y]) if y==0 and y!=0: self.te.insert('insert','\n') self.te.update() else: time.sleep(res/10) else: self.ff.close()
这样就实现了每隔一秒每十个字节输出一行,当然你也可以一个字一个字让它输出,如果是这样,只需将下面的代码:
for y in range(len(self.ab)): #遍历文件内容 if self.ab: self.te.insert('insert',self.ab[y]) #插入内容 if y==0 and y!=0: #判断如果读取到十个字节长度则插入文本内容到文本框 self.te.insert('insert','\n') self.te.update() #更新内容 else: time.sleep(0.1)
改为:
for y in range(len(self.ab)): #遍历文件内容 if self.ab: if y % 10==0 and y!=0: #判断如果读取到十个字节长度则插入文本内容到文本框 self.te.insert('insert','\n') else: self.te.insert('insert',self.ab[y]) #插入内容 self.te.update() #更新内容 time.sleep(0.1)
8、清空内容
def clean(self): self.te.delete('1.0', t.END) #删除文本框所有内容
这样就可以实现了。
下面我们来看下具体效果吧:
这样我们就轻松实现了一个小说阅读器,顺带提一下,你想一行多显示几个字符,只需要修改下面这行的数字即可:
if y % 10==0 and y!=0:
把10改为其他数字,他就会显示相应长度的字符了。
"怎么用Python制作简易的小说编辑器"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
内容
文件
文本
一行
小说
选择
长度
更新
大小
字节
界面
阅读器
下拉
输出
简易
编辑器
制作
代码
字符
数字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
银行网络安全软件报告
沈阳高性能服务器报价
智慧芽专利数据库培训
河南铭复技术网络技术有限公司
软件开发外包合同性能技术要求
宁晋县网络安全和信息化
腾宏网络技术有限公司
105016数据库技术
九台区通用网络技术服务诚信合作
参数化软件开发
来源数据库设计工具
身份证照片和数据库不匹配
数据库本地版和远程版有什么区别
数据库中病史的长度
软件开发人为差错
黄君羡网络服务器配置
数据服务器了解失败
简单网页制作链接数据库
软件开发有哪些公司
松江区网络技术转让材料
加强学校网络安全工作讲话
计算机网络技术专业和软件技术
服务器应用最多的核心原材料
云服务器租用与服务器托管
网络技术8864
顺丰高级工程师数据库
老河口dell服务器
服务器国产管理芯片证明
软件开发工具包用英语怎么说
服务器的钱