首页 > 解决方案 > 条目如何连接到方法

问题描述

作为一种实践,我正在尝试为 gui 编写代码,并实现了一个名为 get_me() 的方法来搜索。在这段代码中,我导入了维基百科,并尝试搜索关于谷歌的信息,我应该得到关于谷歌的信息。但我收到一些错误说“条目未定义”,位于第 34 行

import tkinter as tk
import os, sys
import wikipedia

class GuiTest():
    def __init__(self,root):
        self.root = root
        self.root.title('CHOI')
        frame3 = tk.Frame(root)
        label1=tk.Label(frame3,text='please enter your name')
        entry = tk.Entry(frame3)
        label1.pack(padx=5, pady=5,expand=True, fill='both',side='left')
        entry.pack(padx=5, pady=5,expand=True, fill='both',side='left')
        btn1=tk.Button(frame3, text = 'search',command=self.get_me)
        btn1.pack(padx=6, pady=6,expand=True, fill='both', side='right')
        frame3.pack(padx=5,pady=5, expand=True, fill='both')
        frame1=tk.Frame(root)
        btn2=tk.Button(frame1,text='exit',command = self.exit)
        btn2.pack(padx=7, pady=7, fill='both', side='bottom')
        frame1.pack(padx=7, pady=7, fill='both')
        frame2 = tk.Frame(root)
        scroll=tk.Scrollbar(frame2)
        scroll.pack(side='right', fill='both')
        answer = tk.Text(frame2, width=30, height=10, yscrollcommand = scroll.set)
        scroll.config(command=answer.yview)
        answer.pack(side='bottom')
        
        frame2.pack()

        root.mainloop()
    def exit(self):
        sys.exit(0)
        
    def get_me(self):
        entry_value = entry.get()
        answer_value = wikipedia.summary(entry_value)
        
        answer.insert(INSERT, answer_value)
    


if __name__=="__main__":
    root =tk.Tk()
    bapp = GuiTest(root)
    bapp.mainloop

标签: pythontkinter

解决方案


改成in功能entry_self.entry__init__

self.entry = tk.Entry(frame3)

#do self.entry wherever entry was there
#and then in get_me() function do self.entry

entry_value = self.entry.get()

推荐阅读