如何使用 Python 3.8 中的按钮读取 Tkinter 中的条目
Posted
技术标签:
【中文标题】如何使用 Python 3.8 中的按钮读取 Tkinter 中的条目【英文标题】:How to read an Entry in Tkinter using a button in Python 3.8 【发布时间】:2021-08-24 18:45:02 【问题描述】:我正在学习使用 Python 中的类,我希望您帮助我更正以下代码,我的目标是使按钮工作并阅读我在条目中输入的内容:
from tkinter import *
class Ventana:
def __init__(self):
self.raiz= Tk()
self.raiz.title('Central block')
self.raiz.geometry('900x530')
self.raiz.config(bg='black')
self.label2= Label(text='Central Block',fg='blue',
bg='black',font=('Arial Black',18))
self.label2.place(x=270,y=20)
def accion():
pass
self.raiz.mainloop()
class Butt:
def __init__(self,image,x,y,click):
self.x= x
self.y= y
self.click= click
Button(image=image,bg='black',relief='flat',
borderwidth=0,activebackground='black',
command= self.click,
cursor='hand2').place(x=self.x,y=self.y)
def click():
intro= Entry.get()
class Entries:
def __init__(self,state,widt,x4,y4,textvar):
self.state= state
self.widt= widt
self.x4= x4
self.y4= y4
self.textvar= textvar
Entry(state=self.state,
width=self.widt,
textvariable=self.textvar).place(x=self.x4,
y=self.y4)
ventana= Ventana()
entrada= StringVar()
texto= Entries('normal',7,70,365,entrada)
but8= PhotoImage(file='b2b.png')
boton8= Butt(but8,170,340,Butt.click)
在条目中写入内容并单击按钮后,上面会产生以下错误。我想在条目中写一些东西,当按下 Python 按钮时,它会获取该条目的值。:
>>>Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\X\Python\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "C:/Users/X/test.py", line 32, in click
intro= Entry.get()
TypeError: get() missing 1 required positional argument: 'self'
【问题讨论】:
使用entrada.get()
而不是Entry.get()
噗!!非常感谢。我花了几个小时试图弄清楚这一点,这很愚蠢。请发布答案以评价自己。非常感谢@TheLizzard
【参考方案1】:
Entry
是一个类而不是对象,所以当你调用Entry.get()
时,它会引发错误。而是使用entrada.get()
。
【讨论】:
以上是关于如何使用 Python 3.8 中的按钮读取 Tkinter 中的条目的主要内容,如果未能解决你的问题,请参考以下文章
Python 3.8 Mutagen 不会读取 GEOB 标签
如何在 Python ttk 中的 Button 中对齐文本
python tkinter 如何将tk界面中标题栏中的tk红色字样去掉,或者换成其他的字
用python的Tkinter中的按钮,绑定的事件如何更改全局变量的问题