Как взять вкладку в качестве ввода от tkinter simpledialog.askstring ()? - PullRequest
0 голосов
/ 04 октября 2018

Я хочу, чтобы приглашение возвращало символ табуляции в качестве ввода

window = tkinter.Tk()
a = tkinter.simpledialog.askstring("Prompt", "Enter Separator", parent = window)

Однако нажатие табуляции или ввод "\ t" не работает.

1 Ответ

0 голосов
/ 04 октября 2018

a = tkinter.simpledialog.askstring("Prompt", "Enter Separator", parent = window) добавляет \ перед каждым \ только для того, чтобы убедиться, что оно интерпретируется правильно.Нажатие клавиши Tab не будет работать, потому что tkinter просто переключит виджеты.

Чтобы устранить эту проблему, попробуйте это перед сохранением возвращаемого значения simpledialog. Это также решает вопрос «Как заменить двойной обратный слеш одиночным обратным слешем»

import codecs
a = tkinter.simpledialog.askstring("Prompt", "Enter Separator", parent = window)
a = codecs.escape_decode(a)[0].decode('utf-8')

Это будетубедитесь, что ваша переменная a всегда имеет только \t.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...