2015-10-21 125 views
-1

我曾经有过这段代码的问题,它是GCSE模拟的一部分,我目前已完成工作代码(仅限文本),但我想扩展它以便它有一个很好的GUI。我在代码中更新我的句子变量时遇到了一些问题。任何人有任何建议,请解释我如何解决它。Python Tkinter Gui不工作

#GCSE TASK WITH GUI 
    import tkinter 
    from tkinter import * 
    from tkinter import ttk 

    var_sentence = ("default") 

    window = tkinter.Tk() 
    window.resizable(width=FALSE, height=FALSE) 
    window.title("Sentence") 
    window.geometry("400x300") 
    window.wm_iconbitmap("applicationlogo.ico") 

    file = open("sentencedata.txt","w") 
    file = open("sentencedata.txt","r") 

    def update_sentence(): 
     var_sentence = sentence.get() 


    def submit(): 
     file.write(sentence) 
     print ("") 

    def findword(): 
     messagebox.showinfo("Found!") 
     print ("Found") 


    sentencetext = tkinter.Label(window, fg="purple" ,text="Enter Sentence: ") 
    sentence = tkinter.Entry(window) 
    sentencebutton = tkinter.Button(text="Submit", fg="red" , command=update_sentence) 

    findword = tkinter.Label(window, fg="purple" ,text="Enter Word To Find: ") 
    wordtofind = tkinter.Entry(window) 
    findwordbutton = tkinter.Button(text="Find!", fg="red" ,command=findword) 


    usersentence = sentence.get() 
    usersentence = tkinter.Label(window,text=sentence) 


    shape = Canvas (bg="grey", cursor="arrow", width="400", height="8") 
    shape2 = Canvas (bg="grey", cursor="arrow", width="400", height="8") 

    #Packing & Ordering Moduales 
    sentencetext.pack() 
    sentence.pack() 
    sentencebutton.pack() 

    shape.pack() 

    findword.pack() 
    wordtofind.pack() 
    findwordbutton.pack() 
    usersentence.pack() 

    shape2.pack() 

    window.mainloop() 
+1

“不工作”不是对问题的信息描述。请修改您的问题以包含预期和实际行为以及任何错误消息。 – user2085282

+0

我注意到你没有关闭你的文件阅读器,这可能不是问题,但可以提出一些例外 – Adi

+1

“在代码中更新我的句子变量”可能对你有意义,但我不知道这意味着什么。请描述一些具体的投入,实际产出,以及实际产出与预期的不同。 –

回答

1

如果我理解您的问题,请在usersentence标签中显示输入的文字。

update_sentence()功能更改为下面显示的功能将归档所需的效果。

def update_sentence(): 
    var_sentence = sentence.get() 
    usersentence.config(text=var_sentence) 

usersentence永远不会被更新,因为你只有在程序启动,这是问题的时候设置一次。

+0

谢谢,你已经解决了我一直在寻找相当一段时间的问题,并且你终于修复了它。再次感谢。 – Tom

+0

首先,很难弄清真正的问题是什么,因此在将来发布问题时,请更详细地说明问题所在。谢谢 – Adi