刚学python,请问这段代码里面哪里有错误

from tkinter import *
import os
import tkinter.messagebox

def ChkID(event):
# strID = input("Please enter your ID: ")
strID=etryUserName.get().strip()
if len(strID)<18:
return
if len(strID)>18:
tkinter.messagebox.showerror("提示","身份证号码不能超出18位")
return
chksum = 0
chkDic = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
chkIndex = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
for ii in range(len(strID)-1):
chksum = chksum+int(strID[ii])*chkDic[ii]
chksum = chksum % 11
if chkIndex[chksum] == strID[-1]:
# print("身份证校验通过")
etryPassword.focus_force()
else:
# print("身份证号有误!")
tkinter.messagebox.showerror("提示","身份证号码有误 !")
return

frmMain = Tk()

lblUserName = Label(frmMain, text="身份证号:")
etryUserName = Entry(frmMain,Width=50)
lblpassword = Label(frmMain,text="密码: ")
etryPassword= Entry(frmMain,width = 50, show ="*")
lblPassword2= Label(frmMain,text="请再次输入密码: ")
etryPassword2= Entry(frmMain,width=50)
lblUserName.grid(row=0,column=0)
etryUserName.grid(row=0,column=1)
lblUserName.grid(row=1,column=0)
etryPassword.grid(row=1, column=1)
lblPassword2.grid(row=2,column=0)
etryPassword2.grid(row=2,column=1)

btnReg=Button(frmMain, width=10, text="确定")
btnReg.grid(row=5,column=1)

etryUserName.bind_all('', ChkID)
frmMain.wm_title("xxx的注册账号模块")
frmMain.mainloop()

执行结果呢?

frmMain = Tk()
你的TK()代表的是啥呀