如何将文本框放入 python tkinter 应用程序?

How to put a textbox into a python tkinter application?

我查看了其他几个问题,其中 none 似乎对我的解决方案有所帮助。我想我只是不太聪明可悲。

我知道的基本问题。我决定学习 python,我正在用 tkinter 制作一个基本的应用程序来学习。

基本上它是一个存储和显示人们驾驶执照详细信息(姓名和到期日期)的应用程序。我希望它具有的功能之一是名称查找。首先,我需要弄清楚如何将文本框放入 window!

我将 post 相关的(好吧,我认为相关的!)代码如下:

class search(tk.Frame):


def __init__(self, parent, controller):
    tk.Frame.__init__(self, parent)
    label = tk.Label(self, text="Enter a name to display that individual's details", font=LARGE_FONT)
    label.pack(pady=10,padx=10)     

    label1 = tk.Label(console, text="Name:").pack()
    searchbox = tk.Entry(console)
    searchbox.pack()


    button1 = tk.Button(self, text="SEARCH", command=lambda: controller.show_frame(main))#not created yet
    button1.pack()

    button2 = tk.Button(self, text="HOME", command=lambda: controller.show_frame(main))
    button2.pack()

当然在顶部我有

import tkinter as tk

当我尝试 运行 这个时,我得到 "typeobject "search" has no attribute 'tk'"。它运行良好 - 当我单击主页 window 上的相关按钮时,搜索 window 将打开。直到我尝试添加输入框。

我在这里做错了什么?我是一个彻头彻尾的新手所以我准备好面对我的愚蠢

如果这个问题的格式很糟糕,我也很抱歉,我也是新手post。将所有内容放入正确的 "code" 格式真的很痛苦

首先,使用 from tkinter import * 是一种更有效的导入 Tkinters 库的方法,而无需在需要时导入特定的东西。不过,为了回答您的问题,这里是输入文本框的代码。
t1 = Text(self)

要在文本框中插入文本:t1.insert()

例如 t1.insert(END, 'This is text')

如果你还没有得到它,t1 是我分配给文本框的变量,尽管你可以选择你想要的任何变量。我强烈推荐 tkinter 上的 effbots 教程,我发现它非常有用。这是 link:http://effbot.org/tkinterbook/tkinter-application-windows.htm

祝你好运!

我猜你 运行 遇到了问题,因为你没有指定布局管理器并传递了 console 而不是 self:

import tkinter as tk

class Search(tk.Frame):
    def __init__(self, parent=None, controller=None):
        tk.Frame.__init__(self, parent)

        self.pack()  # specify layout manager

        label1 = tk.Label(self, text="Enter a name to display that individual's details")
        label1.pack(pady=10, padx=10)

        label2 = tk.Label(self, text="Name:")
        label2.pack()

        searchbox = tk.Entry(self)
        searchbox.pack()

        button1 = tk.Button(self, text="SEARCH", command=lambda: controller.show_frame(main))
        button1.pack()

        button2 = tk.Button(self, text="HOME", command=lambda: controller.show_frame(main))
        button2.pack()

# Just cobble up the rest for example purposes:

main = None

class Controller:
    def show_frame(self, frame=None):
        pass

app = Search(controller=Controller())
app.mainloop()