如何在ttk Entry中插入文本字符串? [解决了]

问题描述

我想向ttk Entry添加/删除字符串。怎么样? 我是tkinter Entry的新手,但我不知道ttk Entry的工作方式。

这是在tkinter Entry中插入任何字符串的代码

from tkinter import *
root = Tk()

my_entry = Entry(root,font=("arial",10,"bold")).pack()
my_entry.insert(0,"GG") # Working :)

root.mainloop()

所以我不知道ttk条目帮助中的方式:

import tkinter as tk
from tkinter import ttk
root = tk.Tk()

my_entry = ttk.Entry(root,"bold")).pack()

my_entry.insert(0,"GG")  #Not Working :(

root.tk.mainloop()

解决方法

像这样更改行:

my_entry = ttk.Entry(root,font=("arial",10,"bold"))
my_entry.pack()

在python中说Entry(..).pack()是错误的方式,就像在python x = a().b()中一样,x在这种情况下将得到b()返回的值pack()并且pack()返回None,因此my_entry变成None,因此您尝试在insert()中调用None,这将给您错误面对

AttributeError:NoneType对象没有属性insert()

最终密码:

import tkinter as tk
from tkinter import ttk
root = tk.Tk()

my_entry = ttk.Entry(root,"bold"))
my_entry.pack()

my_entry.insert(0,"GG")  #Not Working :(

root.tk.mainloop()

还请注意,您在Q中的第一个和第二个示例将给出完全相同的错误。