2022年 11月 9日

Python IDLE 如何清屏

1.新建文件ClearWindow.py,将下面代码复制进去,保存。

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_window)


    def clear_window2(self, event): # Alternative method
        # work around the ModifiedUndoDelegator
        text = self.text
        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")
        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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

2.将文件ClearWindow.py复制进Python安装目录\Lib\idlelib中,如C:\Program Files\Python39\Lib\idlelib

或者 C:\Users\用户名\AppData\Local\Programs\Python\Python310\Lib\idlelib

注意:此文件夹是受系统保护的,无法在此文件夹内新建文件,只能在外面新建好ClearWindow.py,再移动到此文件夹。

3.还是在Python安装目录\Lib\idlelib中,找到文件config-extensions.def,在此文件最下方加入以下代码,保存。

[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-;>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

意思是按ctrl + ;是清屏。或者你可以设置成其它快捷键,注意不要和IDLE原本的快捷键冲突。

注意,此文件受系统保护,需要以管理员身份保存才能保存成功。

4.验证快捷键清屏是否成功

两种清屏方式:1. 按快捷键ctrl + ;清屏。 2. Options菜单点击Clear Shell Window清屏。

Python IDLE清屏效果