2015-11-23 5 views
-1

Я работаю над приложением Python, которое запрашивает у пользователя два входа, но для того, чтобы перейти к следующему входу, им нужно нажать ENTER/RETURN, можно ли также использовать TAB-ключ?TAB Key in Python

Прямо сейчас, если пользователь попадает в TAB, он просто добавит пробел в текст.

[EDIT] Я попробовал метод sys.stdin, но все, что я получаю, это пустой экран.

+0

http://stackoverflow.com/questions/1450180/change-the-focus -from-one-text-widget-to-another - думаю, это может помочь. –

+0

Возможный дубликат [Python raw \ _input использовать TAB вместо ENTER?] (Http://stackoverflow.com/questions/19084223/python-raw-input-use-tab-instead-of-enter) – Altoyyr

ответ

0

Как указано here, если вы используете raw_input или input это не представляется возможным, и вы должны прочитать из stdin непосредственно

import sys 


def input_with_tab(): 
    text = "" 
    while True: 
     char = sys.stdin.read(1) # read 1 character from stdin 
     if char == '\t': # if a tab was read 
      break 
     text += char 

    return text 

print("Write something:") 
text = input_with_tab() 
print(text) 
+0

, который показал мне пустой экран и ничего больше не работает. –

+0

что-то работает, но теперь становится странно, если я набираю текст и нажимаю ENTER, он создает и новый, например, если я нажму TAB, а затем ENTER, он сломается и распечатает (текст). –

+0

Да, я немного поиграл. Кажется, что проблема заключается в том, что символы будут отправляться только при нажатии на ввод, а не сразу после нажатия клавиши. – Altoyyr