随机{}出现在python tkinter表单上的文本标签中[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在使用Python中的Tkinter创建一个表单,并且一些标签在文本周围有大括号({})。由于文本是使用字典中的for循环生成的,并且每个标签的迭代是相同的,我无法理解为什么某些标签如{First Name}包含大括号,而其他像City则不包含。

我在Windows 10上使用Python 3.7.2。

码:

import tkinter as tk

window = tk.Tk()
window.title("Address Entry Form")

frame1 = tk.Frame(master=window)
frame1["relief"] = tk.SUNKEN
frame1["borderwidth"] = 3
frame1.pack(fill=tk.X)

frame2 = tk.Frame(master=window)
frame2.pack(fill=tk.X)

list = {
    0: "First Name",
    1: "Last Name",
    2: "Address Line 1",
    3: "Address Line 2",
    4: "City",
    5: "State/Province",
    6: "Postal Code",
    7: "Country",
}

for i in list:
    label = tk.Label(master=frame1)
    label["text"] = list[i], ":"
    label.grid(row=i, column=0, sticky=tk.E)

    entry = tk.Entry(master=frame1)
    entry["width"] = 50
    entry.grid(row=i, column=1)

button1 = tk.Button(master=frame2)
button1["text"] = "Submit"
button1["width"] = 7
button1["height"] = 1
button1.pack(padx=5, pady=5, side=tk.RIGHT)

button2 = tk.Button(master=frame2)
button2["text"] = "Clear"
button2["width"] = 5
button2["height"] = 1
button2.pack(padx=5, pady=5, side=tk.RIGHT)

window.mainloop()
python python-3.x tkinter
1个回答
-1
投票

在29行,

label [“text”] = list [i],“:”

将逗号更改为+

label [“text”] = list [i] +“:”

不知道为什么会这样,但确实如此。

© www.soinside.com 2019 - 2024. All rights reserved.