网络编程
位置:首页>> 网络编程>> Python编程>> Python IDLE清空窗口的实例

Python IDLE清空窗口的实例

作者:学海无涯1993  发布时间:2023-11-22 17:59:23 

标签:Python,IDLE

使用Python IDLE时发现并没有清空当前窗口的快捷键,也没有像 clear 这样的命令,使用非常不便。

新建一个 ClearWindow.py脚本,源码如下:


"""

Clear Window Extension
Version: 0.2

Author: Roger D. Serwy
   roger.serwy@gmail.com

Date: 2009-06-14

It provides "Clear Shell Window" under "Options"
with ability to undo.

Add these lines to config-extensions.def

[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-l>

"""

class ClearWindow:

menudefs = [
   ('options', [None,
       ('Clear Shell Window', '<<clear-window>>'),
   ]),]

def __init__(self, editwin):
   self.editwin = editwin
   self.text = self.editwin.text
   self.text.bind("<<clear-window>>", self.clear_window2)

self.text.bind("<<undo>>", self.undo_event) # add="+" doesn't work

def undo_event(self, event):
   text = self.text

text.mark_set("iomark2", "iomark")
   text.mark_set("insert2", "insert")
   self.editwin.undo.undo_event(event)

# fix iomark and insert
   text.mark_set("iomark", "iomark2")
   text.mark_set("insert", "insert2")
   text.mark_unset("iomark2")
   text.mark_unset("insert2")

def clear_window2(self, event): # Alternative method
   # work around the ModifiedUndoDelegator
   text = self.text
   text.undo_block_start()
   text.mark_set("iomark2", "iomark")
   text.mark_set("iomark", 1.0)
   text.delete(1.0, "iomark2 linestart")
   text.mark_set("iomark", "iomark2")
   text.mark_unset("iomark2")
   text.undo_block_stop()
   if self.text.compare('insert', '<', 'iomark'):
     self.text.mark_set('insert', 'end-1c')
   self.editwin.set_line_and_column()

def clear_window(self, event):
   # remove undo delegator
   undo = self.editwin.undo
   self.editwin.per.removefilter(undo)

# clear the window, but preserve current command
   self.text.delete(1.0, "iomark linestart")
   if self.text.compare('insert', '<', 'iomark'):
     self.text.mark_set('insert', 'end-1c')
   self.editwin.set_line_and_column()

# restore undo delegator
   self.editwin.per.insertfilter(undo)

拷贝ClearWindow.py文件,放在Python安装目录Python XXX\Lib\idlelib下面(XXX为你的python版本,比如2.7)。

记事本打开Python XXX\Lib\idlelib目录下的config-extensions.def(IDLE扩展的配置文件), 为防止出错,你可以在打开它之前先copy一个备份 。

修改config-extensions.def ,在末尾添加如下内容,然后保存退出:


[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-;>

打开Python的IDLE,options选项中就可以看到增加了Clear shell window ctrl+;。

在IDLE输入代码,然后按Ctrl+;(是指Ctrl和;),发现刚输入代码可以被清除了。

快捷键Ctrl+;,可修改成其他键,将


clear-window=<Control-Key-;>

里的Control和;修改成其他键即可。

来源:https://blog.csdn.net/ww951993/article/details/74114063

0
投稿

猜你喜欢

  • 年前在重写淘宝旺铺里的会员卡脚本的时候,无意中发现了一个有趣的事情。代码类似:var associative_array = new Arr
  • Guide to the Section 508 Standards for Electronic and Information Tech
  • 一个不错的js星级评分代码,可以评多个指标。相关文章推荐:用css制作星级投票评分功能 效果图:<script language=&q
  • 这学期在学习编译原理,最近的上机作业就是做一个简单的词法分析器,在做的过程中,突然有个需求就是判断一个字符串是否为合法的标示符,因为我是用p
  • 定义列表和其他类型的列表稍有不同,它由两部分组成:名称和定义。DT 指定名称,为内联元素。DD 指定定义,为块级元素。标准属性id, cla
  • 引言今年互联网的就业环境真的好糟糕啊,好多朋友被优化。我们平常在工作中除了撸好代码,跑通项目之外,还要注意内外兼修。内功和招式都得练👌,才能
  • 阅读上一篇:FrontPage XP设计教程2——网页的编辑 制作一个漂亮的网页,离不开网页整体布局的设计,网页布局设计的合理与否,直接影响
  • 方法一:利用Cookies对象 因为Cookies对象把变量的值保存在浏览器客户端,所以可以根据Cookies保存的IsVoted的值来判断
  • 之前用Crystal做了一个数字转English Word的Formula刚刚心血来潮, 大半个晚上写了JS版本的数字转换, 由于JS的Bu
  • 如何在页面中快捷地添加翻页按钮?     先编写一个nextprev.inc文件,再将代码<
  • 概述OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界.梯度运算梯度:
  • JavaScript中没有Trim函数,VBScript语言中才有这个函数,就是去掉字符串头和尾的空格。您可以访问这篇文章:《增加 java
  • 一、适配器模式适配器,顾名思义是一种万能的接口,达到万能转换的效果。适配器模式,定义一个适配器类,并且在该类中定义了适配器接口,这些适配接口
  • 1. RS.OPEN SQL,CONN,A,B,C2. CONN.EXECUTE(SQL,RowsAffected,C)参数含义:SQL的值
  • 近日在月影的blog上找到一段代码。看了老半天没明白什么意思,倍受打击!不死心,于是仔细分析思考了好几次,才明白过来这段函数的意义。js果然
  • 开放源代码社区为了扩展MySQL的使用范围,开发出了.Net框架(.NET Framework)中可以使用的数据库连接器。我们就来学习一下如
  • 定义流的作用是使用统一的方式处理文件、网络和数据压缩等共用同一套函数和用法的操作。简单而言,流是具有流式行为的资源对象。因此,流可以线性读写
  • 一般开发,SQL Server的数据库所有者为dbo.但是为了安全,有时候可能把它换成其它的名称,所有者变换不是很方便.这里列出两种供参考
  • 总的来说,提高应用程序性能的最好的方法是发现应用的瓶径之所在,和数据库进行交互的性能无疑是决定应用程序性能的重要环节之一。因为ADO是当前最
  • 前言在应用程序开发的过程中,有的时候需要在代码中保存一些机密的信息,比如加密密钥,字符串,或者是用户名密码等。通常的做法是保存到一个配置文件
手机版 网络编程 asp之家 www.aspxhome.com