【发布时间】:2018-05-05 20:35:48
【问题描述】:
我想使用其他列表中元素的列表名称,但发生了一些错误。
如果有title_list = [A, B, C],我想列出前)B.append(test_items)
from tkinter import Tk, Button, Entry
import tkinter as tk
ent1_input = []
ent2_input = []
title_list = []
test_item_list = []
entry1 = 0
entry2 = 0
def addentry():
ent1 = Entry(root)
ent1.pack()
ent1_input.append(ent1)
def click_B():
global title
for entry1 in ent1_input:
title = entry1.get()
create_window()
title_list.append(title)
def create_window():
def addBox2():
ent2 = Entry(new_root)
ent2.pack()
ent2_input.append(ent2)
def test_item_list_up():
global test_items
for i in range(0, len(title_list)):
for entry2 in ent2_input:
test_items = entry2.get()
title_lsit[i].append(test_items) # <---- What do i change it
new_root = tk.Tk()
new_root.geometry('200x200')
addboxButton = Button(new_root, text= title , command=addBox2)
addboxButton.pack(side="top", expand=True, padx=1, pady=1)
applyButton = Button(new_root, text="Apply value",command=test_item_list_up)
applyButton.pack(side="bottom", expand=True, padx=1, pady=1)
root = Tk()
root.geometry('200x200')
root.title('initialization')
root.configure(background='green')
b = Button(root, text="Set Items", command=addentry)
b.pack(side="top", expand=True, padx=1, pady=1)
c = Button(root, text="Apply Items", command=click_B)
c.pack(side="bottom", expand=True, padx=1, pady=1)
root.mainloop()
可以查看一些示例代码,我才研究 Python 几个星期。
【问题讨论】:
-
不清楚你在问什么。请仅在您认为遇到问题的地方发布相关代码。提及输入列表和所需的输出。
-
lsit A = [abc, xyz, rgb] 我想创建一个新列表,如下所示 list abc = [...] list xyz = [...] list rgb = [... ] 我想使用现有列表的元素作为新名称。
-
听起来像是试图从列表中获取一个字符串,并将该字符串用作新变量的名称。那是对的吗?如果是这样,请不要这样做。动态创建的变量名导致代码非常难以理解和调试,并且没有提供真正的价值。你能解释一下为什么需要使用数据作为变量名吗?你认为这能解决什么问题?
-
你说的没错。我需要从第一个小部件条目中进行用户输入,然后使用用户输入值制作列表。并制作几个与用户输入数量一样多的小部件。并创建一些具有第二个小部件条目值的列表。条目数量根据用户的意愿变化
标签: python-3.x list tkinter widget append