tkinter Text edit_undo()/edit_redo() 没反应解决方法

鱼c笔记——Python 的 GUI 编程(七):Tkinter 的 Text 组件实用技巧 有关 Text 组件的基本用法在上一篇博客中已经讲述,这里不再赘述。 这里将讲述 Text 组件的实用技巧: 目录 ①判断内容是否发生变化 ②查找操作 ③Text 组件还支持恢复和撤销的操作 自定义撤销操作 ①判断内容是否发生变化 比如说做一个笔记本 (.txt 的那个记事本) 程序,或者重新做一个 IDLE。它们都有输入框,有输入框当程序在关闭的时候应该自动检测内容是否发生改变,... 阅读详情

本文同步发布于:https://goodcoder666.github.io/post/tkinter-text-undo-redo/

问题

tkinter.Text调用edit_undo()和edit_redo()没反应。

问题分析

这是因为没有设置Text的undo参数为True,设置后才能“激活”edit_undo()和edit_redo()。
这个错误难发现是因为它没有报错,查了好多资料才发现……
希望以后python官方能改进这点。

解决方法

from tkinter import *

root = Tk()
root.title('Undo/redo test')
text = Text(root, undo=True)
#                 ^^^^^^^^^
#                   重要!
text.insert(END, 'Hello tkinter!')
text.edit_undo()
text.edit_redo()

root.mainloop()
Python GUI开发进阶:从Tkinter定制到PyQt5实战,打造现代桌面应用 图形用户界面(GUI)是连接用户与软件功能的重要桥梁,其核心在于通过视觉元素和交互逻辑提供直观的操作体验。在Python生态中,Tkinter作为标准库提供了基础的GUI构建能力,而PyQt5等第三方库则凭借其丰富的控件和强大的渲染引擎,实现了更专业、更现代的界面表现。掌握GUI开发不仅能提升脚本的易用性,更是构建独立桌面应用、数据可视化工具及跨平台解决方案的关键技术。通过样式定制、布局管理和事件驱动编程,开发者可以高效实现从基础工具到商业级软件的界面需求。本文聚焦于**Tkinter深度定制**与**Py 阅读详情

相关推荐

PyQt5入门指南:从零构建专业级Python桌面应用

图形用户界面(GUI)编程是现代软件开发的核心技能之一,它通过可视化组件实现人机交互,极大提升了软件的易用性和功能性。其底层原理基于事件驱动模型,通过响应用户操作来执行相应逻辑。在Python生态中,PyQt5作为Qt框架的Python绑定,提供了强大的技术价值,能够帮助开发者快速构建跨平台、功能丰富的桌面应用程序。PyQt5不仅支持复杂的界面布局和丰富的控件库,还通过信号与槽机制实现了松耦合的组件通信,显著提升了代码的可维护性。在应用场景上,它广泛适用于数据可视化工具、内部管理系统、科学计算界面等需要专业

weixin_34326558的博客 339

tkinter-text详解(3)

Text.Get('1.'0' END) --- 获得text内容 eg:通过hashlib.md5 -- 检测内容变动 from tkinter import * import hashlib root = Tk() text = Text(root, width=20, height=10) text.pack() text.insert('1.0', 'Love is burn into peace') contents = text.get('1.0', END)

peanutfish的专栏 969

MATLABGUI读取文件并将路径显示在文本框中

MATLABGUI读取文件并将路径显示在文本框中

m0_50305149的博客 2650

qt中的undo和redo机制。

1. 首先知道undo和redo动作的创建。 这两个动作是由QUndoStack创建的。 当点击undo或者redo的时候,qt框架就自动调用QUndoStack中处于栈顶位置的QUndoCommand命令。 QAction *unDO =  m_undoStack->CreateAction( this,tr("undo") ); QAction *reDO = m_undoS

证券指标的专栏 7305

opencv去除印章痕迹

今天看到一个很有意思的程序,就是去除票据上的红色印章,觉得很有意思,就把它抄过来记录一下,同时自己也开了一下脑洞。 原来的程序来自:https://www.cnblogs.com/skyfsm/p/7638301.html 可以看到图像效果很不错,下面是源码实现: #include <iostream> #include <opencv2/imgproc/imgpro...

zeng_haoyu的博客 7960

K型热电偶负电压采集难题?3种运放电路设计方案对比(含Multisim仿真)

本文针对K型热电偶在低温测量中产生的负电压采集难题,详细对比了三种运放电路设计方案,包括双电源运放反相放大、单电源仪表放大器和差分放大电路,并结合Multisim仿真数据分析了各方案的性能差异。文章还提供了PCB布局和抗干扰设计的实战技巧,帮助工程师解决热电偶信号采集中的核心挑战。

postgres8guard的博客 1019

Qt应用开发(基础篇)——文本编辑窗口 QTextEdit

QTextEdit类继承于QAbstractScrollArea,QAbstractScrollArea继承于QFrame,用来显示富文本和纯文本的窗口部件。框架类 QFrame滚屏区域基类 QAbstractScrollAreaQTextEdit是一个先进的所见即所得的查看器/编辑器,支持使用html样式标签或Markdown格式的富文本格式。它经过优化,可以处理大型文档并快速响应用户输入。

波塞冬的博客 4329

深入理解Linux 内核追踪机制

Linux 存在众多 tracing tools,比如 ftrace、perf,他们可用于内核的调试、提高内核的可观测性。众多的工具也意味着繁杂的概念,诸如 tracepoint、trace events、kprobe、eBPF 等,甚至让人搞不清楚他们到底是干什么的。本文尝试理清这些概念。

youzhangjing_的博客 1730

【Python】【进阶篇】六、Tkinter的Text文本框控件

【Python】【进阶篇】六、Tkinter的Text文本框控件

deepboat的博客 1万+

手把手教你设计低噪声前置放大电路:从光电二极管到X射线探测器的实战配置

本文实战指南详细解析了低噪声前置放大电路的设计,重点针对光电二极管和X射线探测器等微弱信号源。文章深入对比了跨阻放大器与电荷灵敏放大器的核心架构、噪声优化策略及PCB布局技巧,手把手指导从电路选型、仿真验证到调试测试的全流程,助力工程师构建精准可靠的信号链。

tech5的博客 514

几何修复_ANSYS流体分析:几何前处理

建模及几何处理工具非常多,选择起来让人眼花缭乱。对于仿真而言,高效的对几何进行清理及生成符合仿真要求的几何至关重要。ANSYS SpaceClaim Direct Modeler是基于直接建模思想的新一代3D高效率建模和几何编辑修补软件。SCDM提供了当今最快速、最富有创意的直接建模解决方案。由于它的直接建模能力即使对于导入的其它3D模型(如catia、proe、solid works创建的几何)...

weixin_35778830的博客 2418

小白学tkinter(Text组件的‘撤销’和‘恢复’操作)

Text组件支持’恢复‘和’撤销‘操作。 第一步:开启撤销功能 设置undo = True 第二步:实现方法: 实现’撤销‘操作 edit_undo()方法 实现’恢复‘操作 edit_redo()方法 原理: 这是因为 Text 组件内部有一个栈专门用于记录内容的每次变动, 所以每次“撤销”操作就是一次弹栈操作,“恢复”就是再次压栈。 from tkinter i

python学习笔记 6147

30天入门 SAP BTP 开发系列之三:了解 SAP BTP Global Account 的概念

90天之后 Trial 账号会被删除,该账号在 SAP BTP 上创建的内容会被清空,不过我们可以再创建一个新的 Tria 账号。本文简单介绍了 SAP BTP 里 Global Account 的概念,下一篇文章我会介绍 SAP BTP 控制台里和 Global Account 相关的一些操作。,创建 SAP BTP 的 Trial,在可选 Region 列表里,在两个可选项中二选一,选择了。或订阅合同时,SAP BTP 会在后台为其生成一个对应的。在企业拥抱云原生架构的过程中,SAP BTP 的。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1002

Python+tkinter中Text组件编辑历史链表分割边界的作用

Text组件维护了一个编辑历史链表,通过指针的前后移动来实现撤销和恢复操作,每次撤销或重做都是撤销至上一个分割边界或恢复至下一个分割边界。开启撤销操作支持之后,可以使用Text组件的方法edit_undo()撤销上一个操作,edit_redo()方法恢复刚刚撤销的操作。默认情况下,Text组件会在用户切换操作时自动插入隐式的分割边界,例如从键盘操作切换为鼠标操作、从输入操作切换为删除操作、按下Enter键等。”可以下载“Python小屋刷题神器”,免费练习6600道客观题和915道编程题,题库持续更新;

董付国的Python专栏 42

SOI LDMOS器件的Sentaurus TCAD建模与关键电学特性仿真研究

本文研究了SOI LDMOS器件的TCAD建模与电学特性仿真。通过Sentaurus TCAD平台建立了单RESURF结构的SOI LDMOS模型,详细阐述了器件结构原理和RESURF耐压机制。研究采用SDE进行几何定义和掺杂配置,在Sentaurus Device中构建了完整的物理模型体系,包括迁移率、复合和碰撞电离模型。通过系统仿真提取了器件的转移特性、输出特性和击穿特性等关键参数,分析了各参数对性能的影响规律。研究结果为功率半导体器件的仿真建模提供了规范化参考,有助于优化SOI LDMOS的性能设计。

huanghm88的专栏 134

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Tkinter库的学习记录17-Text

第5章中的Entry控件主要是处理单行=的文字输入,本章所要介绍的Text控件可以视为Entry的扩充,可以处理多行的输入,另外,也可以在文字中嵌入图像或是提供格式化功能。因此,实际上我们可以将此Text当作简单的文字处理软件,甚至也可以当作网页浏览器使用。

weixin_71243777的博客 240

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python-GUI-Project 记事本深度拆解:菜单栏、文件操作与快捷键的完整实现

Python-GUI-Project 是一个收录了 20 多个 Python Tkinter GUI 小项目的开源仓库,其中的 Notepad 记事本项目是学习 Tkinter 菜单栏、文件操作与快捷键实现的绝佳范本。本文将带你完整拆解这个约 360 行的记事本:从 `tkinter.Menu` 如何搭建出 File/Edit/Format/Help 四组菜单,到 `filedialog` 如何实

gitblog_00676的博客 808

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Python GUI编程入门:从命令行到Tkinter桌面应用开发实战

图形用户界面(GUI)是连接用户与程序功能的重要桥梁,它将复杂的代码逻辑转化为直观的按钮、文本框等可视化控件,极大降低了软件使用门槛。其核心原理基于事件驱动模型,通过持续监听用户操作并触发相应函数响应,实现交互式体验。在Python生态中,Tkinter作为标准库提供了最便捷的GUI开发入口,无需额外安装即可快速构建桌面应用。掌握控件布局、事件绑定等基础概念后,开发者能够将脚本封装为实用工具,如文件处理器、数据可视化界面等。本文聚焦Tkinter实战,通过构建简易文本编辑器案例,详解从窗口创建、控件摆放到事

weixin_34075268的博客 573

Python GUI开发入门:Tkinter核心控件与布局实战详解

图形用户界面(GUI)开发是桌面应用构建的核心技术,它通过可视化控件实现人机交互。Python作为主流编程语言,其标准库Tkinter提供了轻量级的GUI解决方案,基于事件驱动模型实现界面响应。在快速原型开发和内部工具构建场景中,Tkinter凭借零依赖、学习曲线平缓的优势,成为Python开发者入门GUI的首选。通过掌握按钮、输入框、列表框等核心控件,结合pack、grid、place三种几何管理器进行布局,可以高效构建如登录表单、文本编辑器等实用工具。本文以Tkinter为例,详解控件使用与事件处理,并

weixin_34293141的博客 481

Python Tkinter GUI开发:从入门到实战的完整指南

图形用户界面(GUI)开发是连接用户与程序功能的重要桥梁,其核心原理在于事件驱动模型,即通过响应用户操作来更新界面状态。在Python生态中,Tkinter作为标准库内置的GUI工具包,凭借其零依赖、开箱即用的特性,为开发者提供了快速构建桌面应用的解决方案。其技术价值在于降低了GUI开发门槛,使开发者能专注于业务逻辑而非环境配置。在应用场景上,Tkinter特别适合开发内部工具、教学演示、快速原型以及各类小型桌面应用。本文聚焦于Tkinter的实战技巧与架构设计,深入解析其布局管理、事件处理与多线程协同等核

weixin_33717117的博客 372

Python tkinter实战:7个GUI小项目带你从入门到应用

图形用户界面(GUI)是连接用户与程序功能的重要桥梁,其核心在于事件驱动与组件化编程。Python作为一门简洁高效的编程语言,其标准库tkinter提供了构建原生桌面应用的基础框架。通过理解主窗口、组件(Widgets)和几何管理等核心概念,开发者可以快速搭建交互界面,将脚本工具产品化,提升内部工具的开发效率与用户体验。本文聚焦于**Python tkinter**的工程实践,通过**计算器**、文本编辑器、图片查看器等7个具体项目,系统演示了从环境搭建、事件绑定到数据持久化与打包发布的完整开发链路,旨在为

weixin_33946020的博客 396

《零基础入门学习Python》第070讲:GUI的终极选择:Tkinter7

上节课我们介绍了Text组件的Indexs 索引和 Marks 标记,它们主要是用于定位,Marks 可以看做是特殊的 Indexs,但是它们又不是完全相同的,比如在默认情况下,你在Marks指定的位置中插入数据,Marks 的位置会自动发生改变, 因为Marks 认它后面的“那个家伙”,当 Marks 前面的数据被删除时,Marks 并不会被删除,它的位置只是相应的向前移动了,只有 mark_u...

来自江南的你的博客 970

AIGC(生成式AI)试用 46 -- DocsGPT 与 Python开发 1

AIGC(生成式AI)试用 45 -- DocsGPT 与 Python开发 1

Rolei的博客 6771

Python+PyQt5打造桌面伪系统:从GUI编程到操作系统UI模拟实战

GUI编程是现代软件开发的基础技能,通过图形界面实现人机交互是应用开发的核心环节。其原理在于利用框架提供的控件库和事件驱动模型构建可视化应用。掌握GUI开发不仅能创建实用工具,更是理解操作系统用户界面设计思想的绝佳途径。在工程实践中,PyQt5等跨平台框架因其丰富的组件库和高效的开发流程,常被用于构建复杂的桌面应用。本文聚焦于一个综合性实践项目——桌面伪系统开发,通过模拟操作系统界面,深入讲解窗口管理、事件处理、多模块协作等关键技术。项目涵盖桌面图标管理、任务栏实现、开始菜单设计等核心模块,并演示如何集成记

weixin_30764771的博客 411

终极PySimpleGUI菜单设计指南:5步打造专业级应用导航系统

还在为Python GUI应用的菜单设计而烦恼吗?PySimpleGUI的多级菜单系统让你轻松创建专业级导航体验!作为Python GUI开发中最直观易用的库,PySimpleGUI不仅简化了界面设计,更提供了强大灵活的菜单功能。本文将带你深入探索如何利用PySimpleGUI的菜单系统,从基础到高级,打造出令人惊艳的应用导航界面。 ## 🎯 为什么PySimpleGUI的菜单系统如此特别?

gitblog_01153的博客 369
上一篇: Panasonic Programming Contest 2020 C (Sqrt Inequality) 题解
下一篇: java.lang.IllegalArgumentException: input == null! 解决方法
GoodCoder666
博客等级 码龄7年 2320粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值