为什么它不打印我在新窗口中输入文本框的字符串值?
data=pd.read_excel(r"C:\test.xlsx")
请不要使用课程
答案 0 :(得分:4)
仅使用Tk
创建主窗口。要创建任何其他窗口,请使用Toplevel
。并且只使用一个mainwindow()
。
var = Widget(...).pack()
将None
分配给var
,因为pack()
/ grid()
/ place()
会返回None
。你必须分两行。
var = Widget(...)
var.pack().
如果您不需要var,那么您可以
Widget(...).pack()
使代码更具可读性
import tkinter as tk
来表示我使用的是tk.Button
,而不是ttk.Button nor my own class
Button` user_var
和password_var
,这意味着newwindow
代码:
import tkinter as tk
def newwindow():
def sign_done():
david = user_var.get()
javed = password_var.get()
tk.Label(newwindow, text=david).pack()
tk.Label(newwindow, text=javed).pack()
newwindow = tk.Toplevel()
newwindow.title('Sign Up')
newwindow.geometry('200x400')
user_var = tk.StringVar()
password_var = tk.StringVar()
user = tk.Entry(newwindow, textvariable=user_var)
user.pack()
pword = tk.Entry(newwindow, textvariable=password_var)
pword.pack()
tk.Button(newwindow, text='done now', command=sign_done).pack()
root = tk.Tk()
root.title('Gulmeena')
root.geometry("500x200")
tk.Button(root, text='Go', command=newwindow).pack()
root.mainloop()
您可以在没有StringVar
s
import tkinter as tk
def newwindow():
def sign_done():
david = user.get()
javed = pword.get()
tk.Label(newwindow, text=david).pack()
tk.Label(newwindow, text=javed).pack()
newwindow = tk.Toplevel()
newwindow.title('Sign Up')
newwindow.geometry('200x400')
user = tk.Entry(newwindow)
user.pack()
pword = tk.Entry(newwindow)
pword.pack()
tk.Button(newwindow, text='done now', command=sign_done).pack()
root = tk.Tk()
root.title('Gulmeena')
root.geometry("500x200")
tk.Button(root, text='Go', command=newwindow).pack()
root.mainloop()