python如何清理窗口_Python IDLE清空窗口 缺乏、安全感 2022-10-31 14:00 190阅读 0赞 使用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= """ class ClearWindow: menudefs = \[ ('options', \[None, ('Clear Shell Window', '<>'), \]),\] 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'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', ' 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', ' 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= 打開Python的IDLE,options選項中就可以看到增加了Clear shell window ctrl+;。 在IDLE輸入代碼,然后按Ctrl+;(是指Ctrl和;),發現剛輸入代碼可以被清除了。 快捷鍵Ctrl+;,可修改成其他鍵,將 clear-window= 里的Control和;修改成其他鍵即可。
还没有评论,来说两句吧...