将值发送到另一个文件

时间:2018-05-09 09:13:22

标签: python class tkinter widget

我用Wiki编写了一个小GUI,我尝试拆分我的Main和Wiki GUI和函数。我设法在我的主处有一个框架,我在那里加载" Wiki GUI。现在我在我的Main中有一个条目,我也想在Wiki中搜索。所以我必须从Wiki文件中调用一个函数并发送一个值。但问题是没有任何反应。但打印得到执行。

这是我的两个文件,但缩短了:

import Wiki
#[...]

class MyFirstGUI(object):
    def __init__(self, master):

    #[...]    
    self.gui_control = ttk.Notebook(master)
    self.wiki_gui = ttk.Frame(self.gui_control, borderwidth=0)


    self.wiki_search = Entry(master, width=27,font=("Century Gothic",10))
    self.wiki_search.grid(row=11,column=0,padx=17 ,pady=0, sticky=N+W)
    self.wiki_search.bind('<Return>',self.send_search)

    # This is how i placed my WikiFrame
    e3 = Wiki.WikiFrame(self.wiki_gui)
    e3.grid(row=0, column=0, sticky="NESW") 

    def send_search(self,event):
        wiki = Wiki.WikiFrame(self.wiki_gui)        
        wiki.fill_wiki_value(self.wiki_search.get())

维基文件:

import tkinter as tk

class WikiFrame(tk.Frame):

    def __init__(self, parent):
        tk.Frame.__init__(self, parent)
        self.rowconfigure(1, weight=1)
        self.columnconfigure(4, weight=1)

        self.Search_Entry = tk.Entry(self, width=20,font=("Century Gothic",12))
        self.Search_Entry.grid(row=0,column=2, sticky='NESW', padx=10)

    def fill_wiki_value(self,value):
        print('Hello')
        self.Search_Entry.insert(tk.END, value)

1 个答案:

答案 0 :(得分:1)

该条目设置在单独的维基框架上,而不是正在显示的框架#e3&#39;。