iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用Python开发实现简单的记事本
  • 937
分享到

利用Python开发实现简单的记事本

记事本简单Python 2022-06-04 18:06:56 937人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

前言 本文的操作环境:ubuntu,python2.7,采用的是PyCharm进行代码编辑,个人很喜欢它的代码自动补齐功能。 示例图 如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合

前言

本文的操作环境:ubuntu,python2.7,采用的是PyCharm进行代码编辑,个人很喜欢它的代码自动补齐功能。

示例图

查看图片

如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合我自身的习惯外加四个toolbar:新建、打开、撤销和保存。

下来就我个人构建这个记事本做个总结

一、整体框架构建

1.三个主模块的建立

首先,我们先建立上图中的三个主模块,同时,在模块中建立各个模块的功能。先以文件为例:下设功能:新建、打开、保存和另存为,代码如下:


#-*-encoding:utf8
from Tkinter import *

root = Tk()
root.title('Benben node')

#create menu
menubar = Menu(root)
root.config(menu = menubar)

filemenu = Menu(menubar)
filemenu.add_command(label = '新建',accelerator ='ctrl + N')
filemenu.add_command(label = '打开',accelerator ='ctrl + O')
filemenu.add_command(label = '保存',accelerator ='ctrl + S')
filemenu.add_command(label = '另存为',accelerator ='ctrl + Shift + s')
menubar.add_cascade(label = '文件',menu = filemenu)

root.mainloop()

运行结果:

查看图片

  我们可以看到一个简单的文件栏就建好了。对应的建立编辑和关于模块。编辑指的是对文本编辑中要使用的模块,下设功能:撤销,重做,复制,剪切,粘贴,查找和全选;关于是下设作者和版权两栏。相应模块对应的代码如下:


#编辑
editmenu = Menu(menubar)
editmenu.add_command(label = '撤销',accelerator = 'ctrl + z')
editmenu.add_command(label = '重做',accelerator = 'ctrl + y')
editmenu.add_command(label = '复制',accelerator = 'ctrl + c')
editmenu.add_command(label = '剪切',accelerator = 'ctrl + x')
editmenu.add_command(label = '粘贴',accelerator = 'ctrl + v')
editmenu.add_command(label = '查找',accelerator = 'ctrl + F')
editmenu.add_command(label = '全选',accelerator = 'ctrl + A')
menubar.add_cascade(label = '编辑',menu = editmenu)

#关于
aboutmenu = Menu(menubar)
aboutmenu.add_command(label = '作者')
aboutmenu.add_command(label = '版权')
menubar.add_cascade(label = '关于',menu = aboutmenu)

运行结果:

查看图片

截图未能得到各个模块对应的功能。

2.toolbar

在记事本中添加toolbar,添加对应的button并设定合适的间距,对应的代码如下:


#toolbar
toolbar = Frame(root,height = 15,bg = 'SkyBlue')
shortButton = Button(toolbar,text = '新建',command = open)
shortButton.pack(side = LEFT)
shortButton = Button(toolbar,text = '打开',command = openfile)
shortButton.pack(side = LEFT,padx = 5,pady = 5)
shortButton = Button(toolbar,text = '保存',command = save)
shortButton.pack(side = RIGHT)
shortButton = Button(toolbar,text = '撤销',command = undo)
shortButton.pack(side = RIGHT,padx = 5,pady = 5)
toolbar.pack(expand = NO,fill = X)

查看图片

3.创建状态栏(statusbar)和正文编辑区域

首先在程序中添加:


root = Tk()
root.title('Benben Node')
root.geometry("800x500+100+100")

编辑状态栏的代码:


#statusbar
status = Label(root,text = 'Ln20',bd = 1,relief = SUNKEN,anchor = 'w')
status.pack(side = BOTTOM,fill = X)

当然我们还可以建立相应的编辑区域和滚动条,对应的代码如下:


#正文编辑区域
lnlabel = Label(root,width = 2,bg = 'antique white')
lnlabel.pack(side = LEFT,fill = Y)

textpad = Text(root,undo = True)
textpad.pack(expand = YES,fill = BOTH)

scroll = Scrollbar(textpad)
textpad.config(yscrollcommand = scroll.set)
scroll.config(command = textpad.yview)
scroll.pack(side = RIGHT,fill = Y)

执行代码,结果:

查看图片

输入相应的可以看到右边界对应的滚动条随输入滚动。

二、关于模块的实现

在这三个模块中,关于是最好实现的一个,那就从最简单的开始实现吧。

对应的代码如下:


from tkMessageBox import *

#关于
def author():
  showinfo('作者信息','本软件由可爱的奔奔完成')
def about():
  showinfo('版权信息.copyright','版权属于奔奔')

aboutmenu = Menu(menubar)
aboutmenu.add_command(label = '作者',command = author)
aboutmenu.add_command(label = '版权',command = about)
menubar.add_cascade(label = '关于',menu = aboutmenu)

运行结果:

  查看图片   查看图片

三、文件模块的实现

这部分的实现参见Tkinter官网中的fileDialogs,相应的使用各个方法实现功能:新建、打开、保存和另存为,建立相应的函数实现,代码如下:


#新建
def new():
  root.title('未命名文件')
  filename = None
  textpad.delete(1.0,END)
#打开
def openfile():
  global filename
  filename = askopenfilename(defaultextension = '.txt')
  if filename == '':
    filename = None
  else:
    root.title('FileName:'+os.path.basename(filename))
    textpad.delete(1.0,END)
    f = open(filename,'r')
    textpad.insert(1.0,f.read())
    f.close()

#保存
def save():
  global filename
  try:
    f = open(filename,'w')
    msg = textpad.get(1.0,END)
    f.write(msg)
    f.close()
  except:
    saveas()
#另存为
def saveas():
  f = asksaveasfilename(initialfile= '未命名.txt', defaultextension='.txt')
  global filename
  filename = f
  fh = open(f,'w')
  msg = textpad.get(1.0,END)
  fh.write(msg)
  fh.close()
  root.title('FileName:'+os.path.basename(f))

相应的在filemenu和toolbar中加入对应的command,运行结果:

查看图片  查看图片

四、编辑模块的实现

编辑要实现的功能:撤销,重做,复制,剪切,粘贴,查找和全选,对应的函数代码如下:


def cut():
  textpad.event_generate('<<Cut>>')

def copy():
  textpad.event_generate('<<Copy>>')

def paste():
  textpad.event_generate('<<Paste>>')

def redo():
  textpad.event_generate('<<Redo>>')

def undo():
  textpad.event_generate('<<Undo>>')

def selectAll():
  textpad.tag_add('sel','1.0',END)

def search():
  topsearch = Toplevel(root)
  topsearch.geometry('300x30+200+250')
  label1 = Label(topsearch,text='Find')
  label1.grid(row=0, column=0,padx=5)
  entry1 = Entry(topsearch,width=20)
  entry1.grid(row=0, column=1,padx=5)
  button1 = Button(topsearch,text='查找')
  button1.grid(row=0, column=2)

同样在editmenu和toolbar中加入对应的command。运行代码,功能实现!快捷键亲测可用~

总结

以上就是这篇文中的全部内容了,这算是对此次开发的简单记事本的一个总结,之后有时间也是会添加更多的功能。希望本文的内容对大家的学习或者工作能带来一定的帮助,如果疑问大家可以留言交流。

--结束END--

本文标题: 利用Python开发实现简单的记事本

本文链接: https://www.lsjlt.com/news/13993.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用Python开发实现简单的记事本
    前言 本文的操作环境:ubuntu,Python2.7,采用的是Pycharm进行代码编辑,个人很喜欢它的代码自动补齐功能。 示例图 如上图,我们可以看到这个记事本主要分为三个模块:文件,编辑和关于,结合...
    99+
    2022-06-04
    记事本 简单 Python
  • 利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
    目录1、简单介绍2、运行截图3、代码介绍4、总结1、简单介绍 在学习完HTML、CSS和一些JS后,博主也利用一些空余的时间的写了一个关于JS简单应用的Demo,主要实现的是一个To...
    99+
    2022-11-12
  • JS实现简单的todoList(记事本)效果
    该记事本程序利用HTML+CSS+JavaScript前端三大框架来实现。 实现了记事本的添加,已完成和删除待办事项的基本功能。 下面是程序实现的全部代码: 1.实现效果展示 2....
    99+
    2022-11-12
  • Java利用IO流实现简易的记事本功能
    要求:编写一个模拟日记本的程序,通过在控制台输入指令,实现在本地新建文件,打开日记本和修改日记本等功能。 指令1代表“新建日记本”,可以从控制台获取用户输入的...
    99+
    2022-11-13
  • Java怎么利用IO流实现简易的记事本功能
    这篇文章主要介绍“Java怎么利用IO流实现简易的记事本功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java怎么利用IO流实现简易的记事本功能”文章能帮助大家解决问题。要求:编写一个模拟日记本...
    99+
    2023-06-30
  • jupyter记事本的安装和简单应用
     1.概述   jupyter记事本是一个基于Web的前端,被分成单个的代码块或单元。根据需要,单元可以单独运行,也可以一次全部运行。这使得我们可以运行某个场景,看到输出结果,然后回到代码,根据输出结果对代码做出相应的调整(说白了就是可以...
    99+
    2023-01-30
    记事本 简单 jupyter
  • Python的Flask开发框架简单上手笔记
    最简单的hello world #!/usr/bin/env python # encoding: utf-8 from flask import Flask app = Flask(__name_...
    99+
    2022-06-04
    上手 框架 简单
  • 利用python实现简单的http和ht
    http服务器代码: #!/usr/bin/python3 #python version 3.7 import sys from http import server from http.server import SimpleH...
    99+
    2023-01-31
    简单 python ht
  • python简单的监控脚本-利用sock
    python简单的监控脚本-利用socket、psutil阻止远程主机运行特定程序 psutil是一个跨平台的库(http://code.google.com/p/psutil/),能够轻松的实现获取系统运行的进程和系统利用率(CPU、内...
    99+
    2023-01-30
    脚本 简单 python
  • Android利用Intent实现记事本功能(NotePad)
    本文实例为大家分享了Intent如何实现一个简单的记事本功能的演示过程,供大家参考,具体内容如下 1、运行截图 单击右上角【…】会弹出【添加】菜单项,长按某条记录会弹出快捷菜单...
    99+
    2022-06-06
    intent 记事本 notepad Android
  • 利用Python提取PDF文本的简单方法实例
    目录第一步,安装工具库第二步,编写代码第三步,执行最后的话你好,一般情况下,Ctrl+C 是最简单的方法,当无法 Ctrl+C 时,我们借助于 Python,以下是具体步骤: 第一步...
    99+
    2022-11-11
  • 利用js实现简单开关灯代码
    body部分: <button>开关灯</button> script部分: <script> // wi...
    99+
    2022-11-12
  • 如何用python实现记事本功能
    本篇内容介绍了“如何用python实现记事本功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 案例介绍tkinter 是 Python...
    99+
    2023-06-26
  • 微信小程序开发之实现心情记事本
    目录一、项目展示二、首页三、效果图一、项目展示 心情记事本是一款可以记录当前心情和生活的记事本 用户可以选择当前的心情(开心、平淡、伤心)和表情 并结合自己想要描述的文字 就可以记录...
    99+
    2023-01-11
    小程序心情记事本 小程序记事本
  • 利用Python实现简单的验证码处理
    目录序言环境模块代码展示完整代码序言 我们在做采集数据的时候,过快或者访问频繁,或者一访问就给弹出验证码,然后就蚌珠了~ 今天就给大家来一个简单处理验证码的方法 环境模块 这里需要用...
    99+
    2022-11-11
  • 利用Python实现简单的Excel统计函数
    目录需求分析解决步骤最终结果技术总结需求分析 根据原始数据,计算出累计和、回撤、连续正确、连续错误、连续正确值与连续错误值6项数据,其中原始数据大于等于0认定为正确,原始数据小于0...
    99+
    2022-11-11
  • 利用Python Django实现简单博客系统
    第一节 - 基础 1. 简单的导览图,学会不迷路 对 Django 的评价:借用李清照的《鹧鸪天 桂花》来表达, 暗淡轻黄体性柔。情疏迹远只香留。何须浅碧深红色,自是花中第一流。 梅定妒,菊应羞。画阑开处冠中秋。骚...
    99+
    2022-06-02
    Python Django实现博客系统 Python Django
  • 如何利用MySQL和Java开发一个简单的人事管理系统
    要利用MySQL和Java开发一个简单的人事管理系统,你可以按照以下步骤进行:1. 创建数据库表:使用MySQL创建相关的数据库表,...
    99+
    2023-10-20
    MySQL
  • 利用Python+PyQt5实现简易浏览器的实战记录
    目录实验环境依赖项安装编程实现浏览器有一个可以用于展示网页的窗口代码总结实验环境 操作系统:Linux Mint 编辑器:vim 编程语言:python3 依赖项安装 安装PyQt5 ...
    99+
    2022-06-02
    python pyqt5浏览器 python pyqt5教程 python开发浏览器
  • 如何利用MySQL和Python开发一个简单的电商平台
    要使用MySQL和Python开发一个简单的电商平台,需要进行以下步骤:1. 安装MySQL和Python首先需要在本地安装MySQ...
    99+
    2023-10-10
    MySQL
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作