2016-08-09 34 views
0

Das könnte eine seltsame Frage sein, denn ich bin neu in Python.Speichern und Suchen von Daten mit Tkinter Eingabefeldern

Ich versuche in Python Formular zu erstellen, welche Daten in Boxen eingegeben und gespeichert werden können, dann wieder geöffnet. Ich bin derzeit Tkinter mit einem Gui zu schaffen, die Eingabefelder und Schaltflächen:

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() 

Die Suche verwendet werden werde, eine Datei zu öffnen, die zuvor gespeichert worden sind, und in den Boxen mit diesen Daten füllen, Vorher brauche ich jedoch Hilfe, um die Daten so zu speichern, dass sie abrufbar sind. Alle Informationen, die ich finde, betreffen Web-Formulare. Ich habe auch versucht, Informationen mit SQLite3 zu speichern, aber ich fand, dass nicht ganz, was ich suchte. Jede Hilfe/Anleitung wird geschätzt. Danke,

+0

Sie müssen eine tkinter StringVar zu Ihrem Eingabe-Widget hinzufügen, und dann erhalten Sie diesen Variablenwert, wenn die Suchschaltfläche gedrückt wird und etwas damit tun. –

+0

Werfen Sie einen Blick auf [diese] (https://github.com/ParvizKarimli/My-basic-Python-projects/tree/master/Notebook-in-Python), [diese] (https://github.com/ ParvizKarimli/Meine-Basis-Python-Projekte/Baum/Master/Todo-Liste-in-Python) und [diese] (https://github.com/ParvizKarimli/My-basic-Python-projects/blob/master/ Notizbuch% 20better.py). –

Antwort

0

Hallo Gregulimy!

Ich habe Ihren Code vereinfacht und ihn zu dem gemacht, was Sie tun möchten. Ich habe Kommentare hinterlassen, die erklären, was der Code tut. Wenn Sie Fragen zu dem, was ich getan habe, haben, zögern Sie nicht zu fragen!

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

Wow !, das ist genau das, was ich wollte. Ich danke dir sehr! – Gregulimy