tkinter entry.get() 为空
时间: 2023-12-13 22:05:09 浏览: 225
你的问题是关于Tkinter中的entry.get()返回为空的问题。有几种可能性导致这种情况发生,让我来逐一解释并给出可能的解决方案:
1. 你在调用entry.get()之前没有进行任何输入。确保你在获取entry的文本之前进行了输入。
2. 你的entry控件没有正确绑定到变量。要获取entry的值,你需要将一个Tkinter变量与其绑定,通常使用StringVar()。确保你在创建entry时正确地将它绑定到一个Tkinter变量。
示例代码:
```
from tkinter import Tk, Entry, Button, StringVar
def get_entry_value():
print(entry_var.get())
root = Tk()
entry_var = StringVar()
entry = Entry(root, textvariable=entry_var)
button = Button(root, text="Get Entry Value", command=get_entry_value)
entry.pack()
button.pack()
root.mainloop()
```
3. 你可能在获取entry的值之前还没有刷新窗口。确保你已经调用了Tkinter主循环(root.mainloop()),以确保窗口正常运行和刷新。
如果以上解决方案都不起作用,请提供更多的代码和上下文,以便我能更好地帮助你解决问题。
相关问题
python tkinter中entry.get()怎么转化为整形
可以使用`int()`函数将`entry.get()`返回的字符串转换为整数。
例如,如果你的Entry对象名为`entry`,可以使用以下代码将其转换为整数:
```python
num = int(entry.get())
```
请注意,如果`entry.get()`返回的字符串无法转换为整数,会抛出`ValueError`异常。因此,你应该确保输入的内容是合法的整数。
import tkinter as tkimport mysql.connector# 连接 MySQL 数据库mydb = mysql.connector.connect(user='sa', password='sa', host='localhost', db='Student')cursor = mydb.cursor()# 创建 GUI 界面# 添加学生信息def create_student_info_window(): tk.Label(root, text="添加学生信息").pack() tk.Entry(root, textvariable=tk.StringVar(value='请输入学生信息')).pack() tk.Button(root, text="添加", command=lambda: add_student()).pack()# 单个录入def add_student(): id = id_entry.get() name = name_entry.get() age = age_entry.get() gender = gender_entry.get() IDcard = IDcard_entry.get() xueyuan = xueyuan_entry.get() banji = banji_entry.get() zhuanye = zhuanye_entry.get() jiguan = jiguan_entry.get() number = number_entry.get() sql = "INSERT INTO students (id, name, age, gender, IDcard, xueyuan, banji, zhuanye, jiguan, number) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" val = (id, name, age, gender, IDcard, xueyuan, banji, zhuanye, jiguan, number) cursor.execute(sql, val) mydb.commit() id_entry.delete(0, tk.END) name_entry.delete(0, tk.END) age_entry.delete(0, tk.END) gender_entry.delete(0, tk.END) IDcard_entry.delete(0, tk.END) xueyuan_entry.delete(0, tk.END) banji_entry.delete(0, tk.END) zhuanye_entry.delete(0, tk.END) jiguan_entry.delete(0, tk.END)number_entry.delete(0, tk.END)
这段代码是用 Python 的 tkinter 库和 mysql.connector 库创建了一个 GUI 界面,用于添加学生信息到 MySQL 数据库中。其中,create_student_info_window() 函数创建了一个窗口,包含了多个文本框和一个添加按钮;add_student() 函数则是在点击添加按钮后将文本框中的信息插入到 MySQL 数据库中。值得注意的是,这里将 SQL 语句和参数分开定义,使用 cursor.execute() 函数执行 SQL 语句并传入参数,最后通过 mydb.commit() 函数提交事务。
阅读全文