如何清空python中graphics的屏幕内容

如何清空python中graphics的屏幕内容,第1张

我们也在做这个,找这个方法找了好久,没找到,想了个办法,就是画一个矩形(整个graphics窗口这么大),然后用setFill给矩形涂上白色,就清屏了,为了方便的话,可以自己定义这样一个方法。

Python清屏命令 启动Python有两种方式,分别为Windows命令行窗口和IDLE的方式 目录 Python清屏命令 一、“Windows命令行窗口”下清屏,可用下面两种方法(任选其一) 查看全部>>

Python Shell有两种方式,分别为“Windows命令行窗口”和“IDLE”
“命令行窗口”下可以通过如下两种方法:
1 import subprocess
subprocesscall("clear") # linux/mac
subprocesscall("cls", shell=True) # windows
执行完次命令后,窗口顶部第一行会出现一个0,接下来才会是输入提示符“>>>”
消除这个0的方法是在此命令前添加一个变量,例如 i=subprocesscall("cls", shell=True)
2 import os
ossystem("cls") # windows
ossystem("clear") # linux
执行完次命令后,窗口顶部第一行也会出现一个0,接下来才会是输入提示符“>>>”
消除这个0的方法同方法1
“IDLE”下以上两种方式都不起作用,可以通过建立如下函数实现:
1、伪清屏
def cls():
print "\n"80 #Shell 30+ 改为 print(('\n'80))
此函数将命令行往下移动80行,数字80可以自己任意设定
这是伪清屏,只是输入满屏的空格而已
2、插件法
首先下载clearwindowpy,将这个文件放在Python X\Lib\idlelib目录下(X为python版本),然后在这个目录下找到config-extensionsdef这个文件(idle扩展的配置文件),以记事本的方式打开它(为防止出错,可以在打开它之前先copy一个备份)。打开config-extensionsdef 后在句末加上这样几句:
[ClearWindow]
enable=1
enable_editor=0
enable_shell=1
[ClearWindow_cfgBindings]
clear-window=<Control-Key-l>
然后保存退出即可。
打开python的idle,看看options是不是多了一个选项clear shell window ctrl+L
如果是这样的话,那就证明安装成功了,以后要清屏直接ctrl+L就可以了

附clearwindowpy代码:

class ClearWindow:
    menudefs = [
        ('options', [None,
               ('Clear Shell Window', '<<clear-window>>'),
       ]),]
         
    def __init__(self, editwin):
        selfeditwin = editwin
        selftext = selfeditwintext
        selftextbind("<<clear-window>>", selfclear_window2)
        selftextbind("<<undo>>", selfundo_event)  # add="+" doesn't work
    def undo_event(self, event):
        text = selftext
        
        textmark_set("iomark2", "iomark")
        textmark_set("insert2", "insert")
        selfeditwinundoundo_event(event)
        # fix iomark and insert
        textmark_set("iomark", "iomark2")
        textmark_set("insert", "insert2")
        textmark_unset("iomark2")
        textmark_unset("insert2")
        
    def clear_window2(self, event): # Alternative method
        # work around the ModifiedUndoDelegator
        text = selftext
        textundo_block_start()
        textmark_set("iomark2", "iomark")
        textmark_set("iomark", 10)
        textdelete(10, "iomark2 linestart")
        textmark_set("iomark", "iomark2")
        textmark_unset("iomark2")
        textundo_block_stop()
        if selftextcompare('insert', '<', 'iomark'):
            selftextmark_set('insert', 'end-1c')
        selfeditwinset_line_and_column()
    def clear_window(self, event):
        # remove undo delegator
        undo = selfeditwinundo
        selfeditwinperremovefilter(undo)
        # clear the window, but preserve current command
        selftextdelete(10, "iomark linestart")
        if selftextcompare('insert', '<', 'iomark'):
            selftextmark_set('insert', 'end-1c')
        selfeditwinset_line_and_column()
 
        # restore undo delegator
        selfeditwinperinsertfilter(undo)

python录屏不清有3种原因。
具体原因如下:
1、录屏之前没有设置好输出视频的清晰度参数。
2、原本的视频内容清晰度较低。
3、所选的录屏软件,视频编码和解码存在着部分问题。
大家可以依据视频文件判断是否为以上三种原因,如果是第一种原因,大家可以重新设定参数再次进行录屏;如果是第二种原因,那么可以更换为高清版本的视频文件进行屏幕录制;如果是第三种原因,建议你尝试下迅捷屏幕录像工具。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13376544.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存