我想用一个用户输入创建一个Python GUI,每当用户输入插入按钮时,该输入便会插入到excel工作表中,另一个用户调用例如显示单词,这将读取插入到excel工作表中的所有单词。 ,有什么想法要怎么做?
excel工作表应该是这样
并且用户界面应该像这样简单
我为GUI创建的一些代码,但对于文本文件却不是excel
from tkinter import *
root = Tk()
root.geometry("700x700")
ivn = StringVar()
inputVarName = Entry(root, textvariable=str(ivn))
ivn.set(str("text1"))
inputVarName.grid(row=0, column=0)
ivn2 = StringVar()
inputVarName2 = Entry(root, textvariable=str(ivn2))
ivn2.set(str("text2"))
inputVarName2.grid(row=1, column=0)
def writetofile():
content_list = [ivn.get(), ivn2.get()]
print("\n".join(content_list))
with open("help.txt", "a") as f:
for item in content_list:
f.write("%s\n" % item)
applyButton = Button(root, text="Apply", command=writetofile)
applyButton.grid(row=2, column=1)
root.mainloop() ```
sorry if its silly question but this will be my first python GUI program
答案 0 :(得分:2)
您可以使用python tkinter创建GUI,也可以使用此库创建输入字段并接受输入的值。之后,您可以简单地使用python csv库将记录插入表中。
您可以找到有关tkinter Here
的更多信息。使用此代码从test.txt(使用txt文件)文件中读取数据,也按照要求将数据插入文件中,还将检查是否存在相同的数据。您可以通过单击查看数据按钮来查看数据。
from tkinter import *
root = Tk()
root.geometry("700x700")
ivn = StringVar()
inputVarName = Entry(root, textvariable=str(ivn))
ivn.set(str("text1"))
inputVarName.grid(row=0, column=0)
ivn2 = StringVar()
inputVarName2 = Entry(root, textvariable=str(ivn2))
ivn2.set(str("text2"))
inputVarName2.grid(row=1, column=0)
def printSomething():
with open('help.txt') as f:
r = f.read()
label = Label(root, text=r)
label.grid()
def checkdata():
with open('help.txt') as f:
r = f.read()
return r.split("\n")
def writetofile():
exist_data = checkdata()
content_list = [ivn.get(), ivn2.get()]
with open("help.txt", "a") as f:
for item in content_list:
if item in exist_data:
msg = "Already exist "+item
label = Label(root, text=msg)
label.grid()
elif not item in exist_data:
f.write("%s\n" % item)
applyButton = Button(root, text="Add Data", command=writetofile)
applyButton.grid(row=2, column=1)
veiwButton = Button(root, text='View Data', command=printSomething)
veiwButton.grid(row=3, column=1)
root.mainloop()
注意:有多种方法可以实现这一目标,其中一种就是这种方法。