如何在没有花括号或其他符号的情况下将值插入tkinter条目?

2024-09-28 22:29:14 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我的问题是我正在创建一个表单,目前我需要在tk.入口能够保存和加载。我有它的工作点,但是任何有多个词的条目都被视为元组,当加载时显示为{这是为了什么?}在输入框中,当再次保存时它变成{{这是为了什么?}}等等。 我考虑过使用print命令将tuple获取为一个字符串值,但我不确定在本例中如何实现。在

另外,如果有谁能告诉我如何替换加载时添加的文本而不是添加的文本,那就太好了。在

def ldload():
    f=open(ldcreds, 'r')
    content = f.readlines()
    l = [x.strip() for x in content] 
    ldsplitlists = [i.split(", ") for i in l]
    Characterentx, Playerentx = ldsplitlists
    Characterent.insert(0, Characterentx)
    Playerent.insert(0, Playerentx)

如果有帮助的话,我是如何保存它的

^{pr2}$

是的,我关闭了它,我只是遗漏了大部分变量。在

我很感谢你的帮助,如果我有什么遗漏,请告诉我


Tags: in文本表单for条目contenttk元组
2条回答

在将数据插入列表框时,我只需在元组上循环(在我的例子中,一个元组是从SQL返回的),从而解决了将数据插入列表框时条目周围的大括号问题游标.fetchall()),然后选择列表框插入的索引号。删除了列表框中显示的大括号。在

for columns in feedback:
    captured_columns_list.insert(END, columns[0])

下面是一个简单程序的示例,它将接收3个字段并将它们保存到主目录中名为test_text的文件中。在

当按下加载按钮时,通过使用一些if语句,可以使用同一个文件加载到每个字段。在

这应该是一个很好的例子来帮助你解决你的问题。在

import tkinter as tk

class App(tk.Frame):

    def __init__(self, parent, *args, **kwargs):
        tk.Frame.__init__(self, parent, *args, **kwargs)

        self.master = parent
        self.save_btn = tk.Button(self.master, text = "Save fields", command= self.ldsave)
        self.save_btn.grid(row=0, column=0)
        load_btn = tk.Button(self.master, text = "Load fields", command= self.ldload)
        load_btn.grid(row=0, column=1)

        label1 = tk.Label(self.master, text = "First Name: ")
        label1.grid(row=1, column=0)
        self.entry1 = tk.Entry(self.master)
        self.entry1.grid(row=1, column=1)

        label2 = tk.Label(self.master, text = "Last Name: ")
        label2.grid(row=2, column=0)
        self.entry2 = tk.Entry(self.master)
        self.entry2.grid(row=2, column=1)

        label3 = tk.Label(self.master, text = "Age: ")
        label3.grid(row=3, column=0)
        self.entry3 = tk.Entry(self.master)
        self.entry3.grid(row=3, column=1)



    def ldsave(self):
        list_of_entries = [self.entry1.get(), self.entry2.get(), self.entry3.get()]
        with open("./test_text", 'w') as f:
            for item in list_of_entries:
                f.write("{}\n".format(item))

    def ldload(self):
        try:
            with open("./test_text", 'r') as f:
                content = f.readlines()
                content = [x.strip() for x in content]
                for i in range(3):
                    if i == 0:
                        self.entry1.delete(0,tk.END)
                        self.entry1.insert(0,content[i])
                    if i == 1:
                        self.entry2.delete(0,tk.END)
                        self.entry2.insert(0,content[i])
                    if i == 2:
                        self.entry3.delete(0,tk.END)
                        self.entry3.insert(0,content[i])
        except:
            print("File test_text does not exist")



if __name__ == "__main__":
    root = tk.Tk() 
    my_app = App(root)
    tk.mainloop()

相关问题 更多 >