from tkinter import *
import tkinter as tk
import pyodbc
root1 = tk.Tk()
label1 = tk.Label(root1, text='product A')
entry1 = tk.Entry(root1)
label1.pack(side = tk.TOP)
entry1.pack()
input1= StringVar()
input1.set(entry1.get())
print (input1)
Run Code Online (Sandbox Code Playgroud)
此代码用于将输入文本框小部件中的值分配给变量Input1。但是,我得到的值是:PY_VAR0,而不是Entry1中的文本。
我需要打印输入文本。为什么会出现PY_VAR0?
请帮忙。
谢谢。
问题在于,在用户有机会键入任何内容之前,您已经获得了条目小部件的值,因此它始终是空字符串。
如果您等到用户输入内容后再进行获取,则您的代码将按原样运行。不过,我看不出有任何理由使用a,StringVar因为它只是添加了一个没有实际用途的额外对象。StringVar除非您需要a StringVar可以带给您的额外功能-即变量跟踪,否则没有理由将a 与入口小部件一起使用。
您看到的原因PY_VAR0是因为必须使用get方法从的实例中获取值StringVar。将您的对帐单更改为print input1.get()。
| 归档时间: |
|
| 查看次数: |
9794 次 |
| 最近记录: |