Python IDLE清空窗口的实例
使用PythonIDLE时发现并没有清空当前窗口的快捷键,也没有像clear这样的命令,使用非常不便。
新建一个ClearWindow.py脚本,源码如下:
""" ClearWindowExtension Version:0.2 Author:RogerD.Serwy roger.serwy@gmail.com Date:2009-06-14 Itprovides"ClearShellWindow"under"Options" withabilitytoundo. Addtheselinestoconfig-extensions.def [ClearWindow] enable=1 enable_editor=0 enable_shell=1 [ClearWindow_cfgBindings] clear-window=""" classClearWindow: menudefs=[ ('options',[None, ('ClearShellWindow','< >'), ]),] def__init__(self,editwin): self.editwin=editwin self.text=self.editwin.text self.text.bind("< >",self.clear_window2) self.text.bind("< >",self.undo_event)#add="+"doesn'twork defundo_event(self,event): text=self.text text.mark_set("iomark2","iomark") text.mark_set("insert2","insert") self.editwin.undo.undo_event(event) #fixiomarkandinsert text.mark_set("iomark","iomark2") text.mark_set("insert","insert2") text.mark_unset("iomark2") text.mark_unset("insert2") defclear_window2(self,event):#Alternativemethod #workaroundtheModifiedUndoDelegator text=self.text text.undo_block_start() text.mark_set("iomark2","iomark") text.mark_set("iomark",1.0) text.delete(1.0,"iomark2linestart") text.mark_set("iomark","iomark2") text.mark_unset("iomark2") text.undo_block_stop() ifself.text.compare('insert','<','iomark'): self.text.mark_set('insert','end-1c') self.editwin.set_line_and_column() defclear_window(self,event): #removeundodelegator undo=self.editwin.undo self.editwin.per.removefilter(undo) #clearthewindow,butpreservecurrentcommand self.text.delete(1.0,"iomarklinestart") ifself.text.compare('insert','<','iomark'): self.text.mark_set('insert','end-1c') self.editwin.set_line_and_column() #restoreundodelegator self.editwin.per.insertfilter(undo)
拷贝ClearWindow.py文件,放在Python安装目录PythonXXX\Lib\idlelib下面(XXX为你的python版本,比如2.7)。
记事本打开PythonXXX\Lib\idlelib目录下的config-extensions.def(IDLE扩展的配置文件),为防止出错,你可以在打开它之前先copy一个备份。
修改config-extensions.def,在末尾添加如下内容,然后保存退出:
[ClearWindow] enable=1 enable_editor=0 enable_shell=1 [ClearWindow_cfgBindings] clear-window=
打开Python的IDLE,options选项中就可以看到增加了Clearshellwindowctrl+;。
在IDLE输入代码,然后按Ctrl+;(是指Ctrl和;),发现刚输入代码可以被清除了。
快捷键Ctrl+;,可修改成其他键,将
clear-window=
里的Control和;修改成其他键即可。
以上这篇PythonIDLE清空窗口的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。