2016-05-11 12 views
-1

Was ich brauche ist, um die Ansicht Bestellungen Button, um den Text aus der Datei Customer.txt und setzen Sie es in einem Textfeld, das ich gemacht.Wie man einer Taste die Funktion zum Abrufen von Text aus einer Ausgabedatei zuweist?

#make order,cancel,view 
from tkinter import * 
import tkinter.messagebox 

root = Tk() 

file = open("Customer.txt", "w") 
def textW(): 
    outFile = open("Customer.txt", "wt") 


def CancelOrder(): 
    outFile=open("Customer.txt", "w") 
    outFile.write("") 
    tkinter.messagebox.showinfo("Cancel Order", "Your order has been canceled") 

def ViewOrder(): 
    outFile = open('Customer.txt', 'r') 
    test = outFile.read() 
    #tViewOrder.set(test) 
    print (test) 
    #test.set(tViewOrder) 
    #outFile.close() 

def MakeOrder(): 
    outFile=open("Customer.txt", "w") 
    outFile.write("" + tMakeOrder.get()) 
    tkinter.messagebox.showinfo("Make Order", "Order has been placed. Thank you!") 

#Labels 
lMakeOrder = Label(root, text="Make an order") 
lViewOrder = Label(root, text="View Order") 
#TextFields 
tMakeOrder = Entry(root) 
tViewOrder = Entry(root, state="disabled") 

#Buttons 
bMakeOrder = Button(root, text="Make order",bg="black",fg="green", command=MakeOrder) 
bCancelOrder = Button(root, text="Cancel order",bg="black",fg="green", command=CancelOrder) 
bViewOrder = Button(root, text="View orders",bg="black",fg="green", command=ViewOrder) 

#Position 
lMakeOrder.grid(row=0) 
lViewOrder.grid(row=1) 

tMakeOrder.grid(row=0, column=2) 
tViewOrder.grid(row=1, column=2) 

bMakeOrder.grid(row=4) 
bViewOrder.grid(row=4, column=2) 
bCancelOrder.grid(row=4, column=4) 

#Window stuff 
root.title("Sky is a shit name service - Customer") 
root.geometry("300x300") 

root.mainloop() 
+0

Also, was ich brauche im Grunde ist die Ansicht um, um den Text aus der Kundentextdatei in der Ansicht, um Textfeld erhalten zu machen. Ich habe alles versucht, was ich bei Google finden konnte, aber keine Chance, – GambiT

Antwort

2

Sie können Text in Ihren Eintrag einfügen, indem Sie die Funktion insert aufrufen.

MyEntry.insert(POSITION, TEXT) 

Oh und noch eine Sache. Sie können nichts in den Eintrag einfügen, wenn dieser deaktiviert ist. So, hier ist die geänderte Funktion:

def ViewOrder(): 
    outFile = open('Customer.txt', 'r') 
    test = outFile.read() 
    tViewOrder['state'] = 'normal' 
    tViewOrder.delete(0, 'end')   #Remove everything before 
    tViewOrder.insert(0, test) 
    tViewOrder['state'] = 'disabled' 
    outFile.close()