Python code to cause a backspace keystroke?
我一直在寻找以不同方式映射退格键的方法,但这不是我所追求的。
我正在编写一个python代码的程序,基本上我想写一行代码,导致程序认为有人只是点击GUI中的Backspace键(因为退格键删除了一些东西)
我如何在退格键击中编码?
-
击键发生在什么背景下? Tkinter文本小部件? 其他一些GUI框架?
-
也许我应该指定一个bi更多。 我实际上并没有使用 b删除这里的字符。 基本上在这个程序中将其视为图像跟踪,并在图像的高对比度点上标记。 当您调整错误阈值时,hilights指向高错误。 在GUI查看器上按退格键可删除选定的点。 这就是我想要的。
-
好的,那么你需要一个事件监听器。 例如,在Tkinter中,您可以将函数绑定到事件。 除非你告诉我们你在GUI中编写了什么框架,否则很难再帮助你了。
正如其他答案所说,使用' b'退格。 在你的情况下的技巧是使用sys.stdout.write而不是print来不添加换行符。 然后等待并打印适当数量的退格符。
1 2 3 4 5 6 7 8 9 10 11
| import time
import sys
print("Good morning!")
while True:
time_fmt ="It's %I:%M:%S %p on %A, %b %d, %Y"
time_str = time.strftime(time_fmt)
sys.stdout.write(time_str)
sys.stdout.flush()
time.sleep(1)
sys.stdout.write("\b"*len(time_str)) |
我明白了!
1 2
| print('\b ', end="", flush=True)
sys.stdout.write('\010') |
它退格!
退格的字符是'\b',但听起来你想要影响GUI。
如果您的程序更改了GUI,则只需从活动输入字段中删除最后一个字符。
-
也许我应该指定一个bi更多。我实际上并没有使用 b删除这里的字符。基本上在这个程序中将其视为图像跟踪,并在图像的高对比度点上标记。当您调整错误阈值时,hilights指向高错误。在GUI查看器上按退格键可删除选定的点。这就是我想要的。
-
if key == '\b': delete_points()
-
delete_points()是什么?没有用于删除我可以呼出的点的实际脚本命令。我需要按键自动化。我不是说我想让退格有一个动作。我想这样做,因为我的脚本循环通过它将分析,然后删除点,移动到下一帧,分析,删除等 - 但再次 - 没有脚本,它让我访问导致delete_points()动作。我想要的是:blahblah ['addAnalysysKey']。执行()pythonCommandToCauseKeysroke [' b']。stroke()etccc
-
所以你试图在程序的击键中注入退格?这取决于您的计划和环境。如果您正在谈论Windows应用程序,则需要询问Windows GUI用户。
1 2 3 4 5 6 7 8
| foo ="abc"
foo = foo +"\b" +"xyz"
print foo
>> abxyz
print len(foo)
>> 7
if key == '\b': delete_selected_points() |
-
也许我应该指定一个bi更多。我实际上并没有使用 b删除这里的字符。基本上在这个程序中将其视为图像跟踪,并在图像的高对比度点上标记。当您调整错误阈值时,hilights指向高错误。在GUI查看器上按退格键可删除选定的点。这就是我想要的。
-
布伦特说的话,除非我遗漏了什么。