首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Tkinter输入框保存和搜索数据

使用Tkinter输入框保存和搜索数据
EN

Stack Overflow用户
提问于 2016-08-09 07:57:55
回答 1查看 2.8K关注 0票数 0

这可能是一个奇怪的问题,因为我是Python新手。

我试图在Python中创建表单,可以将数据输入框并保存,然后再次打开。我目前正在使用Tkinter创建一个具有输入框和按钮的Gui:

代码语言:javascript
运行
复制
import sys
from tkinter import * 
def mstore():
pass
return

def msearch():
file_path = filedialog.askopenfilename()
return



mGui=Tk()

mGui.geometry('450x450+200+200')
mGui.title('Form Test')

#Top
mTitle = Label (mGui,text='Heading Text',bg='white').grid(row=1,column=1)
mDetail = Label (mGui,text='Flavour you can see',bg='white').grid(row=2,column=1)


#Entry Boxes
mFName = Label (mGui,text='Barcode',bg='white').grid(row=3,column=1)
mEntryname = Entry().grid(row=3,column=2)


#Buttons
mSave = Button (mGui,text='Save',bg='white', command = mstore).grid(row=4,column=1)
mSearch = Button (mGui,text='Search',bg='white', command = msearch).grid(row=5,column=1)




mGui.mainloop()

搜索将被用来打开之前保存的文件,然后用这些数据填充方框,但是在此之前,我需要帮助以一种可以检索的方式保存数据--我找到的所有信息都是关于web表单的。我也尝试过用SQLite3保存信息,但我发现这并不是我想要的。如有任何帮助/指导,将不胜感激。谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-09 09:10:30

你好Gregulimy!

我简化了你的代码,让它做你想做的事情。我留下的评论解释了代码的作用。如果你对我做了什么有任何疑问,那就随便问吧!

代码语言:javascript
运行
复制
from tkinter import *

def mstore(text):
    file = open("file.txt", "w")            # Create file.txt
    file.write(text)                        # Write contents of mEntryname to file
    file.close()                            # Closes text file

def msearch():
    file = filedialog.askopenfilename()     # Stores file directory that user chose
    open_file = open(file, 'r')             # Opens file user chose
    print(open_file.read())                 # Displays contents in console
    open_file.close()                       # Closes text file

# Window Creation and Settings
window = Tk()
window.geometry('450x500')          
window.title('Form Test')

# Create Widgets
mTitle = Label (window,text='Heading Text',bg='white')
mDetail = Label (window,text='Flavour you can see',bg='white')
mFName = Label (window,text='Barcode',bg='white')
mEntryname = Entry(window)
# Runs mstore function when pressed (passing the contents of the entry box)
mSave = Button (window,text='Save',bg='white', command = lambda: mstore(mEntryname.get()))
# Runs msearch function when pressed
mSearch = Button (window,text='Search',bg='white', command = lambda: msearch())

# Render Widgets
mTitle.pack()
mDetail.pack()
mFName.pack()
mEntryname.pack()
mSave.pack()
mSearch.pack()

window.mainloop()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38845134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档