本示例程序 mynote.pyw 实现了一个简易的记事本,可以像 Windows 系统自带的记事本一样编辑文本文件。程序使用的可视化部件有菜单(Menu)、带滚动条的文本区(ScrolledText)以及多种对话框和消息框等,它们放在tkinter之下不同的子模块中,用法都相当简单,学习者可以查看帮助信息自行理解。

"""简易记事本"""

import tkinter as tk

from tkinter.scrolledtext import ScrolledText

from tkinter.filedialog import askopenfilename, asksaveasfilename

from tkinter.messagebox import askokcancel, showinfo

appname = "简易记事本"

def main():

def c_new(): # 新建文件

var_filename.set("")

root.title(f"未命名 - {appname}")

text.delete(1.0, "end")

def c_open(): # 打开文件

filename = askopenfilename()

if filename:

var_filename.set(filename)

root.title(f"{filename} - {appname}")

with open(filename) as f:

text.delete(1.0, "end")

text.insert(1.0, f.read())

def c_save(): # 保存文件

filename = var_filename.get()

if not filename:

filename = asksaveasfilename()

if filename:

var_filename.set(filename)

root.title(f"{filename} - {appname}")

with open(filename, "w") as f:

content = text.get(1.0, "end-1c")

f.write(content)

def c_exit(): # 退出

if askokcancel("退出", "你确定要退出吗?"):

root.destroy()

root = tk.Tk()

root.title(f"未命名 - {appname}")

root.protocol("WM_DELETE_WINDOW", c_exit) # 关闭根窗口时执行c_exit函数

var_filename = tk.StringVar(root) # 字符串变量

menu = tk.Menu(root) # 创建根窗口下属的主菜单

root["menu"] = menu

m_file = tk.Menu(menu) # 创建主菜单下属的文件菜单

menu.add_cascade(label="文件", menu=m_file)

m_file.add_command(label="新建", command=c_new) # 文件菜单添加菜单命令项

m_file.add_command(label="打开...", command=c_open)

m_file.add_command(label="保存", command=c_save)

m_file.add_separator() # 添加分隔线

m_file.add_command(label="退出", command=c_exit)

text = ScrolledText(root, width=100, height=40) # 创建滚动文本区

text.pack()

text.focus()

root.mainloop()

if __name__ == "__main__":

main()

python文本菜单程序_从〇到一: Python GUI 程序:记事本相关推荐

  1. python 文本处理库_推荐8种目前Python使用率最高的文本处理工具

    前言 文本处理一般包括词性标注,句法分析,关键词提取,文本分类,情感分析等等,这是针对中 文的,如果是对于英文来说,只需要基本的tokenize.本文为大家提供了以下这些工具包.我整理了Python的 ...

  2. python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析

    Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...

  3. 树莓派能直接运行python程序_在树莓派上运行python脚本 - python

    我正在研究rapiberry pi 3大约3个月,开始使用它时遇到了问题. 我找不到在树莓派打开时在其上运行python脚本的有效,安全的方法(没有监视器,鼠标和键盘).此刻,我在/ etc / pr ...

  4. python手机编译器怎么编写程序_怎么用手机编写Python程序?

    手机编写python程序,其实完全可行,目前有许多app都做了适配,下面我简单介绍3个,感兴趣的朋友可以尝试一下: 01.Python编译器 这是一个非常轻巧.便捷的手机python编程软件,安装包也 ...

  5. 如何调度spark程序_如何定时,周期性的运行程序?Python APScheduler实现任务灵活调度...

    在我们的开发工作中,时常会有这样的开发需求,如需要定时或者周期性的运行某些程序,因此经常用到一些定时服务,如在 Linux系统中使用 Crond 服务实现程序的定时运行. 在 Python中也有这样的 ...

  6. python的gui界面 可视化_使用可视化设计窗体的GUI程序

    示例Demo2_1用PyQt5的一些类创建了一个简单的GUI应用程序,窗体及窗体上的标签对象的创建和属性设置都完全由代码完成.显然这种纯代码方式构造UI的方式是比较麻烦的,特别是在窗体上组件比较多.层 ...

  7. python 文本框位置_「每日一练」Python文本框的显示和插入

    Python强大之处在于对于数据的处理,而处理数据就离不开文本框,那么你知道Python中文本框是如何显示和插入吗? 案例 python文本框的显示和插入 先上代码~ 运行效果 题目详述 第一行: i ...

  8. anaconda怎么运行python程序_怎么用cmd运行python

    怎么用cmd运行python? 用cmd运行python程序 步骤:(1)打开cmd. (2)转到你要运行的文件所在的盘(例如:E盘).输入: e: 回车 (3)打开你要运行的文件所在的文件夹(例如: ...

  9. python下载可执行安装程序_如何下载并安装python

    1 首先,需要到python的官方网站下载python的安装包.python官网的链接地址:https://www.python.org 2 打开官方网站,光标移到Downloads,选择window ...

最新文章

  1. php 上传乱码_如何解决php文件上传中文乱码问题
  2. 一次性无重复配置VS项目插件属性的方法
  3. 电信 IPRAN 设备组网方案_国内首家5G核心网电信设备进网许可证;电信5G网络增强方案获认可;美国最大规模毫米波拍卖...
  4. python六十五:描述符(__get__, __set__, __delete__)
  5. 一个 .git 目录,领悟 Git 的强大!
  6. 麦肯锡发布《中国互联网公司崛起报告》
  7. 【快乐水题】1688. 比赛中的配对次数
  8. .NET Core 反射获取所有控制器及方法上特定标签
  9. 知识点总结vector创建二维数组
  10. java innodb存储引擎_InnoDB存储引擎简介
  11. 面对新型肺炎疫情,AI 能做什么?
  12. Windows下调试hadoop
  13. ccc tiledmap
  14. 汪文君Google Guava实战视频教程
  15. AI中的图像识别技术的原理及过程
  16. iOS 开发常见崩溃分析
  17. 计算机数字键盘无法输入数字,键盘无法输入,键盘数字键打不出来
  18. Matlab 让多图排版更美观
  19. Matlab中的正态分布概率函数
  20. 单片机/C语言浮点型数据转换为字符串方法

热门文章

  1. css 浏览器的兼容性问题 0303
  2. mysql - 一键安装方式- 课堂版
  3. SoapUI测试webservice
  4. HDFS 入门和基本操作
  5. Centos7用yum安装完mysql后没有mysqld的问题(mysql中三个包都装过了)
  6. 生产环境究竟是使用mysqldump还是xtrabackup来备份与恢复数据库?
  7. 开启sqlplus中执行计划
  8. 开源的自然语言处理工具
  9. LaTeX 目录中显示“参考文献”条目
  10. LZW数据压缩算法的原理分析