2010-07-16 2 views
0

Это скриншот из Tkinter Listbox в программе я пишу:Python: Почему символ табуляции появляется в Tkinter?

Screenshot of the problem

Почему \t характер обнаружиться как черная полоса?

На Mac это нормально отображается (как вкладка), но в Windows я получаю это. Я думаю, что это может иметь какое-то отношение к кодировке символов, потому что строки по умолчанию в Unicode в OS X, но не в Windows?

Я попытался записать вкладку как chr(9) вместо \t, но это не помогло.

+0

я получаю коробку, слишком. Я знаю, что Tk не делает все шрифты «правильными», –

ответ

0

В Windows символ табуляции, вероятно, не интерпретируется кодом рендеринга Listbox, но на Mac это так. Следовательно, разница. Но я не уверен в этом, так как IIRC, Tkinter использует свой собственный код рендеринга, так что должен сделать то же самое на всех платформах. Возможно, это часть кода визуализации шрифтов ОС (который более мощный на Mac).

Это не проблема кодирования, так как символ табуляции будет одинаковым на всех кодировок (ну, за исключением EBCDIC, но вы не на мэйнфрейме, так что ...)