2016-05-11 6 views
-1

私が必要とするのは、Customer.txtファイルからテキストを取得し、作成したテキストフィールド内に設定するために、ビューオーダーボタンを作成することです。出力ファイルからテキストを取得するためにボタンに関数の属性を付けるにはどうすればよいですか?

#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

だから私は基本的にビューの注文ボタンが表示順序のテキストフィールド内の顧客のテキストファイルからテキストを取得することです必要なもの。私はgoogleで見つけることができるすべてを試みたがチャンスはなかった、 – GambiT

答えて

2

入力機能の中にテキストを挿入するには、insert関数を呼び出します。

MyEntry.insert(POSITION, TEXT) 

あともう1つ。エントリが無効の場合は、エントリに何も挿入できません。 は、だからここにあなたの変更機能である:

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() 
関連する問題