список присваивания python для tk stringvar - PullRequest
0 голосов
/ 01 октября 2018

У меня проблемы с stringVars от TK.

from tkinter import *

root = Tk()
strVar = StringVar()
tmp1 = ['one','two','three']
print(tmp1)
print(len(tmp1))

strVar.set(tmp1)
tmp2=strVar.get()
print(tmp2)
print(len(tmp2))

Вывод:

['one', 'two', 'three'] 
3
('one', 'two', 'three')
23

Как видите, формат другой.Очевидно, что список строк внутренне преобразуется в одну строку с кавычками.В чем причина и как ее избежать?Для моего скрипта я хотел бы иметь список строк для дальнейшей обработки.

1 Ответ

0 голосов
/ 01 октября 2018
from tkinter import *
import ast

root = Tk()
strVar = StringVar()
tmp1 = ['one','two','three']
print(type(tmp1), tmp1, len(tmp1))

strVar.set(tmp1)
x = ast.literal_eval('[' + strVar.get()[1:-1] + ']')
print(type(x), x, len(x))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...