Python code to cause a backspace keystroke?

2020-04-04 17:15发布

I keep finding ways to map the backspace key differently, but that's not what I'm after.

I'm in a program writing a python code, and basically I want to write a line of code that causes the program to think someone just hit the Backspace key in the GUI (as the backspace key deletes something)

How I would code in a backspace key stroke?

4条回答
走好不送
2楼-- · 2020-04-04 17:34

The character for backspace is '\b' but it sounds like you want to affect the GUI.

if your program changes the GUI, then simply delete the last character from the active input field.

查看更多
女痞
3楼-- · 2020-04-04 17:42

As other answers have said, use '\b' to backspace. The trick in your case is to use sys.stdout.write instead of print to not get a newline appended. Then wait and print the appropriate number of backspace characters.

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))
查看更多
4楼-- · 2020-04-04 17:51

and i got it !

print('\b ', end="", flush=True) 
sys.stdout.write('\010')

it backspace !

查看更多
5楼-- · 2020-04-04 17:55
foo = "abc"
foo = foo + "\b" + "xyz"
print foo
>> abxyz
print len(foo)
>> 7

if key == '\b': delete_selected_points()
查看更多
登录 后发表回答