如何将文本框放入 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()
我查看了其他几个问题,其中 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()