首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tkinter Toplevel不工作

Tkinter Toplevel不工作
EN

Stack Overflow用户
提问于 2017-10-26 23:15:36
回答 1查看 1.8K关注 0票数 1

我正在尝试构建一个tkinter程序,它将从主窗口的文本字段中获取搜索字符串,然后使用搜索字符串的结果创建一个子窗口。因为我是个新手,所以现在我只想创建子窗口,并将搜索字符串传递给该窗口。当运行我的程序时,我收到以下错误:

代码语言:javascript
复制
AttributeError: '_tkinter.tkapp' object has no attribute 'Toplevel'

关于line:

代码语言:javascript
复制
line 23, in search

这就是:

代码语言:javascript
复制
results_window = self.parent.Toplevel(self)

代码如下:

代码语言:javascript
复制
import tkinter as tk

#App Constants
APP_TITLE = 'TKINTER_TEST'
APP_ICON = '\icon\path.ico'

#Geo Constants
MAIN_WIDTH = 600
MAIN_HEIGHT = 300
MAIN_X = '-0'
MAIN_Y = '+0'


class MainApp():
    def __init__(self, parent):
        self.parent = parent

    def get_search(self):
        pass

    def search(self, search_string):
        results_window = self.parent.Toplevel(self)


    def build_widgets(self):
        search_string = tk.StringVar()
        text = tk.Entry(root, textvariable = search_string).pack()
        search_cmd = tk.Button(root, text="Search", command=self.search(search_string.get())).pack()


#MAIN
root = tk.Tk()

#root.geometry('500x300-0+0')
root.geometry('{}x{}{}{}'.format(MAIN_WIDTH, MAIN_HEIGHT, MAIN_X, MAIN_Y))
root.title(APP_TITLE)

main = MainApp(root)
main.build_widgets()

root.mainloop()

我是不是走错了路?

EN

回答 1

Stack Overflow用户

发布于 2017-10-29 17:27:05

Toplevel是一个类似于Frame的小部件

因此,第23行必须是:self.result_window = tk.Toplevel(self.parent)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46958020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档