python - AttributeError:“NoneType”对象在使用 StringVar() 时没有属性“_root”
问题描述
import mysql.connector
import time
from datetime import datetime
import tkinter
from tkinter import *
v1 = tkinter.StringVar()
v2 = tkinter.StringVar()
v3 = tkinter.StringVar()
v4 = tkinter.StringVar()
def add_buyer_btn():
buyer_name = str(v1.get())
buyer_add = str(v2.get())
buyer_gst = str(v3.get())
buyer_contact = str(v4.get())
buyer_dues = 0.0
buyer_credit = 0.0
mycursor.execute("INSERT INTO buyers VALUES(%s, %s, %s, %s, %s, %s)", (buyer_name, buyer_add, buyer_gst, buyer_contact, buyer_dues, buyer_credit))
def add_buyer():
gui1 = tkinter.Toplevel(width=400, height=500)
gui1.title("Add new buyer")
tkinter.Label(gui1, text="Enter buyer's name : ").place(x=50, y=50)
tkinter.Label(gui1, text="Enter buyer's address : ").place(x=50, y=100)
tkinter.Label(gui1, text="Enter GSTIN : ").place(x=50, y=150)
tkinter.Label(gui1, text="Enter contact : ").place(x=50, y=200)
entry1 = tkinter.Entry(gui1, textvariable=v1).place(x=200, y=50)
entry2 = tkinter.Entry(gui1, textvariable=v2).place(x=200, y=100)
entry3 = tkinter.Entry(gui1, textvariable=v3).place(x=200, y=150)
entry4 = tkinter.Entry(gui1, textvariable=v4).place(x=200, y=200)
b5 = tkinter.Button(gui1, text="Submit", command=add_buyer_btn)
执行后,弹出如下错误。请帮助我消除此错误。当用户单击“提交”按钮时,我只想从条目字段中获取输入。我尝试将 StringVar() 变量 v1、v2、v3 和 v4 作为方法参数传递,但这也给了我错误。所以我被困在这一点上。任何帮助将不胜感激。
Traceback (most recent call last):
File "C:/Users/Jayant Jeet Tomar/PycharmProjects/business/business.py", line 9, in <module>
v1 = tkinter.StringVar()
File "C:\Users\Jayant Jeet Tomar\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 480, in __init__
Variable.__init__(self, master, value, name)
File "C:\Users\Jayant Jeet Tomar\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 317, in __init__
self._root = master._root()
AttributeError: 'NoneType' object has no attribute '_root'
PS我不知道为什么这被报告为重复。提到的问题的答案不适用于我的问题。我无法访问 Entry 小部件来输入用户数据。
解决方案
推荐阅读
- java - 在控制器中抛出异常时,Spring Websecurity 在“忽略”资源上抛出 401
- pandas - 使用 if 条件执行数据框的选择
- sql - 如何使用 Microsoft.EntityFrameworkCore 连接多个表?
- python - 名称 'IntegrityError' 未定义 - 为什么我不能在此脚本上使用 'except: IntegrityError'?
- java - 是否有可能通过在特定分支上对该模块进行更改来触发 Jenkins 构建一个特定的 Maven 模块?
- javascript - API 调用不显示照片
- dialogflow-es - 可以将 DialogFlow 代理导入 LUIS
- r - 在特定情况下将函数转换为具有错误处理的函数
- ios - XIB 和视图控制器之间的协议委托
- here-api - 在 Geocoder here-api 中有哪些不同类型的 View