CSDNWV
CSDNWV
2021-01-16 23:42

tkinter窗口不能够嵌套吗?为什么导入第二个tkinter窗口后点击按钮会无效

  • python
  • django
  • 第一段是验证码(vcode.py)
  • import string,random
    vcode=''
    words=''.join((string.ascii_letters,string.digits))
    for i in range(6):
        vcode+=random.choice(words)
  •  第二段是登陆界面框架
    • import tkinter as tk
      import vcode
      
      window=tk.Tk()
      window.title("PY系统登陆界面")
      sw=window.winfo_screenwidth()
      sh=window.winfo_screenheight()
      w=310;h=160
      x=(sw-w)/2;y=(sh-h)/2
      window.geometry("%dx%d+%d+%d"%(w,h,x,y))
      
      tk.Label(window,text='用户账号:').grid(row=0,column=0)
      tk.Label(window,text='用户密码:').grid(row=1,column=0)
      tk.Label(window,text='验 证 码:').grid(row=2,column=0)
      tk.Label(window,text='%s'%vcode.vcode).grid(row=3,column=1)
      
      usr=tk.StringVar();pwd=tk.StringVar();vcode=tk.StringVar()
      
      e1=tk.Entry(window,textvariable=usr).grid(row=0,column=1,pady=5)
      e2=tk.Entry(window,textvariable=pwd,show='*').grid(row=1,column=1,pady=5)
      e3=tk.Entry(window,textvariable=vcode).grid(row=2,column=1,pady=5)
      
      def tip():
          print("用户账号:",usr.get())
          print("用户密码:",pwd.get())
      def login():
          import login
          
      loginbt=tk.Button(window,text='注册',width=12,command=login).grid(row=4,column=0,sticky=tk.W,padx=10,pady=10)
      logonbt=tk.Button(window,text='登录',width=12,command=window.destroy).grid(row=4,column=1,sticky=tk.E,padx=10,pady=10)
      
      tk.mainloop()
      
      ​

      第三段(login.py,在第二段中导入的正是这一段)原目的是想加入一个注册的窗口,但是导入后点击注册或者清除都没有反应

    • import tkinter as tk
      
      logwindow=tk.Tk()
      logwindow.title("PY系统账号注册")
      sw=logwindow.winfo_screenwidth()
      sh=logwindow.winfo_screenheight()
      w=310;h=115
      x=(sw-w)/2;y=(sh-h)/2
      logwindow.geometry("%dx%d+%d+%d"%(w,h,x,y))
      
      tk.Label(logwindow,text='用户账号:').grid(row=0,column=0)
      tk.Label(logwindow,text='用户密码:').grid(row=1,column=0)
      
      logusr=tk.StringVar();logpwd=tk.StringVar();
      
      logusre=tk.Entry(logwindow,textvariable=logusr).grid(row=0,column=1,padx=10,pady=5)
      logpwde=tk.Entry(logwindow,textvariable=logpwd).grid(row=1,column=1,padx=10,pady=5)
      
      def tip():
          print("用户账号:",logusr.get())
          print("用户密码:",logpwd.get())
      def cancel():
          logusr.set('')
          logpwd.set('')
      
      tk.Button(logwindow,text='注册',width=12,command=tip).grid(row=3,column=0,sticky=tk.W,padx=10,pady=10)
      tk.Button(logwindow,text='清除',width=12,command=cancel).grid(row=3,column=1,sticky=tk.E,padx=10,pady=10)
      
      tk.mainloop()
      

      (自学阶段实在很多不理解,可轻喷,请各路大神不吝赐教)

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答